首页 > 代码库 > 编程算法 - 链表逆序 代码(C)

编程算法 - 链表逆序 代码(C)

链表逆序 代码(C)


本文地址: http://blog.csdn.net/caroline_wendy


链表逆序, 作为链表操作的基础必须要熟练手写.

主要包含3个部分, 一个指针记录后面节点, 一个指针记录前面节点, 把当前节点指到前面节点, 移动到后面节点, 前后指针依次移动.

非递归链表逆序算法的核心代码只有10行.


代码:

/*
 * main.cpp
 *
 *  Created on: 2014.9.12
 *      Author: Spike
 */

/*eclipse cdt, gcc 4.8.1*/


#include <stdio.h>
#include <stdlib.h>

struct ListNode{
    int data;
    ListNode* next;
};

void PrintList(ListNode* head);
ListNode* ReverseList(ListNode* head);

int main()
{
	ListNode* head = new ListNode();
	ListNode* node1 = new ListNode();
	ListNode* node2 = new ListNode();
	ListNode* node3 = new ListNode();
	ListNode* node4 = new ListNode();
	head->data = http://www.mamicode.com/0;>
输出:

0 1 2 3 4 
4 3 2 1 0 







编程算法 - 链表逆序 代码(C)