数据结构之单链表——带有节点的单链表的创建、插入和删除(C/C++)
来源:互联网 发布:手机找不到wifi网络 编辑:程序博客网 时间:2024/05/30 19:33
// 带有头节点的单链表的创建、插入和删除
#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef int DataType;typedef struct LNode{DataType data;struct LNode *next;}LNode,*LinkList;// 这里的函数参数必须是链表的指针的地址,否则为局部变量无法将链表指针带回主程序// 创建带头节点的单链表void CreatListF( LinkList *head){*head=(LNode*)malloc(sizeof(LNode));(*head)->next=NULL;if(!*head)printf("debug\n");}// 从小到大插入void InsertList(LinkList head,DataType data){LinkList p=head,q;LNode *s;q=p;p=p->next;while(p && p->data<data){q=p;p=p->next;}s=(LNode*)malloc(sizeof(LNode));s->data=data;s->next=p;q->next=s;}// 删除,注意函数查不到的情况int DeleteList(LinkList head,DataType data){LinkList p=head,q;q=p;p=p->next;while(p && p->data!=data){q=p;p=p->next;}if(!p)return 0;// 为找不到到q->next=p->next;free(p);// 释放指针p=NULL;// 释放后指针指向NULLreturn 1;}void PrintList(LinkList head){LinkList p=head;while(p->next != NULL){p=p->next;printf("%d->",p->data);}printf("end\n");}// 主程序void main(){LinkList head=NULL;CreatListF(&head);// 这里很重要PrintList(head);InsertList(head,10);PrintList(head);InsertList(head,20);PrintList(head);InsertList(head,30);PrintList(head);InsertList(head,15);PrintList(head);DeleteList(head,15);PrintList(head);DeleteList(head,15);PrintList(head);}
运行结果:
0 0
- 数据结构之单链表——带有节点的单链表的创建、插入和删除(C/C++)
- C语言之数据结构的顺序单链表创建,插入和删除操作
- 数据结构——单链表的创建、删除、遍历以及节点的插入、删除等操作
- c语言单链表的创建、插入、删除
- c/c++单链表的创建和删除,插入,反转操作
- 数据结构之单链表——带头节点和不带头节点(C/C++)
- 【数据结构】C语言实现链表节点的插入和删除
- 数据结构——2 单链表插入和删除节点
- C单链表的操作(创建、插入、删除)
- 单链表的插入和删除(C++)
- C语言实现链表节点的插入和删除
- C语言实现链表节点的插入和删除
- 数据结构 单链表的创建 插入 删除
- c 单链表的创建、插入、删除、倒置操作
- C语言单链表的创建,插入,删除,逆致
- C语言实现单链表的创建、插入、删除
- 数据结构之 双链表的创建,删除,插入
- 平衡二叉树的C语言实现(创建、插入、查找、删除、旋转)【数据结构】
- 在VS2015中用C++编写可被其它语言调用的动态库DLL
- Android Studio如何快速生成get,set,tostring,构造函数
- Python Matplotlib 中文乱码
- 写出一个能创建多级目录的PHP函数(腾讯)
- 独立性课程笔记
- 数据结构之单链表——带有节点的单链表的创建、插入和删除(C/C++)
- 6.6 random--伪随机数的生成
- SDL 2.0.3 创建超过屏幕分辨率大小的窗口.
- win 10 安装IIS localhost 或 127.0.0.1 出现空白
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- android简单的自定义动画
- Java爬虫~~爬虫伪代码
- [JAVA · 初级]:3.转义字符
- disruptor实现细节及源码分析