链表创建、反转
来源:互联网 发布:淘宝一元起拍靠谱吗 编辑:程序博客网 时间:2024/06/02 09:08
#include<stdio.h>#include<iostream>// 定义链表结点using namespace std;typedef struct node{ node *next; int data;}*pnode;//初始化结点pnode initialnode(int n){ pnode head = (pnode)malloc(sizeof(node)); if(head == NULL){ cout<<"分配失败"; exit(1); } pnode p = head,q; for (int i = 2; i <= n; i++){ cin>>p->data; q = (pnode)malloc(sizeof(node)); p->next = q; p = q; } cin>>p->data; p->next=NULL; return head;}//打印结点void printnode(pnode head){ if (head == NULL) cout<<"empty linknode"<<endl; else{ pnode p=head; while(p != NULL){ printf("%d->",p->data); p = p->next; } cout<<"NULL"<<endl; }}//链表反转pnode reversenode( pnode head){ pnode p,q,l; // l为中间结点,p反转前结点指针,q为反转后结点指针,通过l把p和q联系起来 q=p=l=head; p=p->next; q->next=NULL; while(p != NULL){ l=p; p = p->next; l->next = q; q = l; } head = q; return head;}int main(){ int n; scanf("%d",&n); pnode head; head=initialnode(n); // printnode(head); head=reversenode(head); printnode(head); free(head); //释放结点 return 0;}
// 有关链表操作,持续更新中
0 0
- 链表创建、反转
- 链表创建及反转
- [数据结构]链表创建、打印、反转
- 链表操作:创建,插入,排序,反转
- 链表的创建 打印 反转
- 链表操作:创建,插入,排序,反转
- 链表创建,添加,反转等
- 一个链表创建、反转、打印的C语言代码
- 链表常用操作 (定义,创建,反转,合并,交叉)
- 单循环链表-创建、插入、删除、反转等操作
- 链表的创建,插入,删除,显示,反转
- string 动态双向链表的创建、排序,反转等
- 数据结构-链表创建,删除,插入,反转,连接
- 链表的基本操作,创建、删除、插入、反转
- 链表的创建、及两链表反转相加!
- 链表反转
- 反转链表
- 单向链表反转
- HDU 2295 Radar (DLX求重复覆盖, A*搜索)
- 文章标题
- 关于软件测试的个人思考
- Android中SimpleAdapter详解
- 欢迎使用CSDN-markdown编辑器
- 链表创建、反转
- Sublime快捷键
- poj1930
- 网络编程(5)——HttpURLConnection/HttpClient的区别
- 在ubuntu下对stm32开发板的编译、烧写、调试
- linux md5sum与sha1sum
- 给ubuntu的firefox添加“百度搜索”
- 深度优先,广度优先和迭代加深搜索算法
- CF 552E 暴力