[数据结构]单链表逆置
来源:互联网 发布:tp框架非法数据对象 编辑:程序博客网 时间:2024/05/23 02:04
#include "stdafx.h"#include <stdio.h>#include <stdlib.h>typedef struct tagListNode{ int nData; struct tagListNode* s_pNext;}ListNode, *pListNode;void PrintList(pListNode head);pListNode ReverseList(pListNode head);int main(){ //分配链表头结点 ListNode *s_pHead; s_pHead = (ListNode*)malloc(sizeof(ListNode)); s_pHead->s_pNext = NULL; s_pHead->nData = 0; //将[1,9]加入链表 int i; ListNode *s_pNode1, *s_pNode2; s_pNode1 = s_pHead; for(i = 1; i < 10; i++) { s_pNode2 = (ListNode *)malloc(sizeof(ListNode)); s_pNode2->nData = i; s_pNode2->s_pNext = NULL; s_pNode1->s_pNext = s_pNode2; s_pNode1 = s_pNode2; } //// 输出链表// PrintList(s_pHead); //// 逆序链表// s_pHead = ReverseList(s_pHead);//// 输出链表// PrintList(s_pHead); return 0;}pListNode ReverseList(pListNode s_pHead){//// 入参检测// if(s_pHead == NULL || s_pHead->s_pNext == NULL) {return s_pHead; } ListNode *s_pTempNode = NULL,*s_pNode1 = s_pHead,*s_pNode2 = s_pHead->s_pNext; while(s_pNode2 != NULL) { s_pTempNode = s_pNode2->s_pNext;s_pNode2->s_pNext = s_pNode1;s_pNode1 = s_pNode2;s_pNode2 = s_pTempNode; }// 设置链表尾 s_pHead->s_pNext = NULL; return s_pNode1;}void PrintList(pListNode s_pHead) { ListNode* p = s_pHead; while(p != NULL) { printf("%d ", p->nData); p = p->s_pNext; } printf("\n"); }
0 0
- [数据结构]单链表逆置
- 数据结构面试题:单链表逆置
- 【数据结构课程作业】单链表逆置
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- Effective C# Item14:利用构造器链
- 上线系统性能优化的主要过程
- Vmware vSphere 5.0系列教程之三 vCenter介绍及安装配置
- 通过安卓API的Tabs3实现仿优酷tabhost效果
- request_firmware
- [数据结构]单链表逆置
- 驾培网程序日志
- 各个变量链接时放在哪里
- 如何在excel和word插入带方框的对号
- Vmware vSphere 5.0系列教程之四 vSphere网络原理及vSwitch简介
- Android怎么让RadioButton图片居中显示
- 使用Strophe连接xmpp,轻松构建web即时聊天工具
- Android五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.
- Java正则表达式入门