链表操作笔记
来源:互联网 发布:中国光伏行业协会数据 编辑:程序博客网 时间:2024/06/15 02:42
/**链表基本操作增,删,查,改,创建,摧毁2016.12.7*/#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<queue>#include<algorithm>#include<stack>using namespace std;typedef struct node{ int data; struct node *next;}NODE;///遍历链表void showList(NODE *head){ NODE *p=head; while(p){ if(!p->next){///细节处理链表最后一个元素后加换行,其余加空格 printf("%d\n",p->data); } else{ printf("%d ",p->data); } p=p->next; }}///摧毁链表,释放每个节点的内存void des(NODE *p){ while(p){ des(p->next); free(p); }}///在第一个5后面添加一个5void addNode(NODE*head){///参数列表新的head(1)指向主函数的head(2),两个指针指向同一块内存。 NODE *p=head,*tmp; while(p->data!=5)p=p->next; tmp=(NODE*)malloc(sizeof(NODE)); tmp->data=p->data; tmp->next=p->next; p->next=tmp;}///在每一个奇数后添加100void addList(NODE*head){ NODE*p=head; while(p){ if(p->data%2){ NODE*q=(NODE*)malloc(sizeof(NODE)); q->data=100; q->next=p->next; p->next=q; } p=p->next; }}///删除节点,测试为删除数据为5的节点NODE* del(NODE**head){///指向指针的指针 NODE *p=*head,*q; q=p->next; while(q){ if(q->data==5){ p->next=q->next; free(q); q=p->next; } else{ p=p->next; q=q->next; } } if((*head)->data==5){///如果头要删除是,返回新的头指针 p=*head; *head=(*head)->next; free(p); }}int main(){ NODE *head,*tail,*p; head=tail=NULL; int a; while(~scanf("%d",&a)){///创建链表,以EOF为结束 p=(NODE*)malloc(sizeof(NODE)); p->data=a; p->next=NULL; if(!head){ tail=head=p; } else{ tail->next=p; tail=p; } } //addNode(head); //addList(head); del(&head); showList(head); return 0;}
1 0
- 链表操作笔记
- 链表的基本操作--学习笔记
- 【数据结构 笔记01】链表常见操作
- mysql表操作笔记
- Oracle 学习笔记 表操作
- hive学习笔记-表操作
- 【数据结构 笔记00】C++链表的创建与操作
- 操作笔记
- Hibernate学习笔记之多表操作
- oracle学习笔记(三)表的操作
- IBATIS的动态操作表笔记
- Oracle表空间和数据文件操作笔记
- 【jQuery学习笔记------操作样式表】
- 【jQuery学习笔记----操作样式表】
- oracle 开发笔记“树”型表操作
- 2017.10.20笔记:多表数据操作
- c++操作笔记阅读笔记
- ios学习笔记之C语言篇(一):链表的基本操作
- Java高职蓝桥杯校内选拔题前N项之和
- SQL Server 常用命令总结
- Java高职蓝桥杯校内选拔题身份证的奥秘
- 图片
- 此证书仍然无效
- 链表操作笔记
- BP 算法之一种直观的解释
- C#开发微信公众平台(附Demo)
- 图的建立、广度优先遍历和深度优先遍历
- Android中ImageView的scaleType属性详解
- Linux下Tomcat的启动、关闭、杀死进程
- mybatis返回int或者Integer类型报错
- 使用VM安装Mac OS
- J2EE进阶(十六)Hibernate 中getHibernateTemplate()方法使用