C# 单向链表 逆序(递归)
static void Main(string[] args)
{
while (true)
{
LinkedList L = new LinkedList();
L.Add(new Node("first"));
L.Add(new Node("second"));
L.Add(new Node("third"));
L.Add(new Node("forth"));
Cw(L.Head);
L.Head= Reverse(L.Head);
Cw(L.Head);
Console.ReadKey();
i = ;
} } private static int i = ; //单向链表逆序
private static Node Reverse(Node header)
{
if (header.Next == null)
{
return header;
}
//找到最后一个
var node = Reverse(header.Next);
//后一个的指针 指向前一个
header.Next.Next = header;
//前一个指针置空
header.Next = null;
return node;
} //单向链表输出
private static void Cw(Node node)
{
Console.WriteLine(node.Data);
if (node.Next != null)
{
Cw(node.Next);
}
} public class Node
{
public object Data;
public Node Next;
public Node(object Data)
{
this.Data = Data;
}
} public class LinkedList
{
public Node Head;
public Node Tail;
public void Add(Node n)
{
if (Head == null)
{
Head = n;
Tail = Head;
}
else
{
Tail.Next = n;
Tail = Tail.Next;
}
}
}
C# 单向链表 逆序(递归)的更多相关文章
- Reverse Linked List II  单向链表逆序(部分逆序)
		
0 问题描述 原题点击这里. 将单向链表第m个位置到第n个位置倒序连接.例如, 原链表:1->2->3->4->5, m=2, n =4 新链表:1->4->3-& ...
 - 【云栖社区001-数据结构】如何实现一个高效的单向链表逆序输出(Java版)
		
如题 动手之前,发现自己很擅长用C语言来写链表. 不过,既然自己做的是Java开发,那么还是用Java实现这个算法吧:毕竟,以后的若干年里都差不多要跟Java打交道了. 于是,先将Java版的链表自学 ...
 - ZT 链表逆序
		
链表逆序 原帖地址http://blog.csdn.net/niuer09/article/details/5961004 分类: C/C++2010-10-23 17:23 18425人阅读 评论( ...
 - 链表逆序(JAVA实现)
		
题目:将一个有链表头的单向单链表逆序 分析: 链表为空或只有一个元素直接返回: 设置两个前后相邻的指针p,q,使得p指向的节点为q指向的节点的后继: 重复步骤2,直到q为空: 调整链表头和链表尾: 图 ...
 - 链表逆序,java实现
		
package com.cskaoyan.linkedlist; //反转数组 public class LinkedListDemo2 { public static Node reverse(No ...
 - 链表逆序---python
		
class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__( ...
 - 剑指Offer03 逆序输出链表&链表逆序
		
多写了个逆序链表 /************************************************************************* > File Name: ...
 - 基于visual Studio2013解决面试题之0504单链表逆序
		
 题目
 - C语言两个升序递增链表逆序合并为一个降序递减链表,并去除重复元素
		
#include"stdafx.h" #include<stdlib.h> #define LEN sizeof(struct student) struct stud ...
 
随机推荐
- mysql单个表拆分成多个表
			
一.横向拆分 create table 新表的名称 select * from 被拆分的表 order by id limit int1,int2 int1为其实位置,int2为几条 注意:这样拆分后 ...
 - C# Net 去除图片白边
			
代码根据别人的进行改写,效果更好 直接拷贝使用 名称空间: using System.Drawing; 代码: /// <summary> /// 裁剪图片(去掉百边) /// </ ...
 - pyTorch 基于以resnet50为backbone的PSPNet 训练VOC2012数据集
			
代码链接:https://github.com/ggyyzm/pytorch_segmentation 使用PSPNet作为主干分类网络 1.将VOC2012数据集下载并解压到data/VOCtrai ...
 - Odoo中的字段显示方式和行为控制
			
在odoo的视图中,字段都是通过widget来控制显示效果和行为的. 一般情况下,不同类型的字段odoo会使用默认的widget来显示和控制它的行为. options以一种JSON对象的形 ...
 - MySQL复制技术
			
MySQL高可用方案 投票选举机制,较复杂 MySQL本身没有提供replication failover的解决方案,自动切换需要依赖MHA脚本 可以有多台从库,从库可以做报表和备份 MySQL复制技 ...
 - 【Servlet】The servlets named [ByteServlet] and [content.ByteServlet] are both mapped to the url-pattern [ByteServlet] which is not permitted
			
创建时间:6.30 The servlets named [ByteServlet] and [content.ByteServlet] are both mapped to the url-patt ...
 - windows 下批量删除git 分支
			
删除筛选出来的分支,比如fixed git branch -D @(git branch | select-string "fixed" | Foreach {$_.Line.T ...
 - uniapp增加百度统计代码(h5)
			
做了个微信公众号文章互相阅读的h5界面,http://mptask.wintp.top/(只能微信浏览器打开),其中用到了统计代码,记录如下. 1.新建 tj.html 界面 可放置在项目的根目录,文 ...
 - Windbg Assembly Code(反汇编)窗口的使用
			
在WinDbg中,可以通过输入命令(u, ub, uu (Unassemble))或使用反汇编窗口查看程序汇编代码. 如何打开 DissAssembly Code窗口 通过菜单View-->Di ...
 - label的作用是什么?怎么用的?
			
label便签用可以让用户点击文字区域,自动聚焦到当前项的input框. input设置id属性,label设置for属性,for属性的属性值为id属性值.