c语言实现单链表
来源:互联网 发布:阿里云服务器升级带宽 编辑:程序博客网 时间:2024/04/29 10:58
图片示例:
实现代码:
#include <stdio.h>#include <stdlib.h>typedef struct node{int data;struct node *pNext;}NODE;NODE *create(void) //创建链表{NODE *head = (NODE *)malloc(sizeof(NODE)); //创建头节点,不保存数据NODE *p = head; //保存头节点的地址int i;printf("输入你要创建的节点个数:");scanf("%d", &i);if(i == 0)exit(0); //不创建节点,直接退出程序.for(int j = 0; j < i; j++){NODE *node = (NODE *)malloc(sizeof(NODE));printf("输入第%d个节点的数据:", j+1);scanf("%d", &node->data);//将节点,进行链接node->pNext = NULL;head->pNext = node;head = node;}return p;}void print(NODE *head) //打印链表{int i = 1;while(head = head->pNext){printf("第%d个节点,数据为%d\n", i, head->data);i++;}}void insert(NODE *head, int data, int num)//插入{if(num <= 0){printf("错误:无法检索到该位置!\n");exit(1);}NODE *p = head;NODE *node = (NODE *)malloc(sizeof(NODE)); //创建一个新节点保存数据node->data = data;node->pNext = NULL;//检索到要插入位置的前一个节点for(int i = 0; i < num-1; i++){if(p == NULL){printf("超出链表范围!\n");exit(1);}p = p->pNext;}//节点插入if(p->pNext == NULL){p->pNext = node;}else{NODE *temp = p->pNext;p->pNext = node;node->pNext = temp;}}void delete(NODE *head, int num)//删除{NODE *p = head;if(num <= 0){printf("错误:无法检索到该位置!\n");exit(1);}//检索到要插入位置的前一个节点for(int i = 0; i < num-1; i++){if(p == NULL){printf("超出链表范围!\n");exit(1);}p = p->pNext;}//删除节点if(p->pNext == NULL){printf("超出链表范围!");exit(1);}else{NODE *temp = p->pNext;p->pNext = p->pNext->pNext;free(temp);}}int main(){NODE *head;head = create();//insert(head, 100, 5);//insert(head, 100, 1);//delete(head, 1);//delete(head, 2);print(head);return 0;}
0 0
- C语言实现单链表
- C语言实现单链表
- C语言单链表实现
- C语言实现单链表
- 单链表C语言实现
- c语言单链表实现
- 单链表 C语言实现
- C语言实现单链表
- c语言实现单链表
- C语言实现单链表
- C语言实现单链表
- C语言单链表实现
- C语言实现单链表
- C语言实现单链表
- c语言实现单链表
- C语言实现单链表
- c语言实现单链表
- 单链表C语言实现
- org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property
- 《统计思维》学习小记(一)——程序员的统计思维
- 语句
- windows安装Apache,注册服务出现“(OS 5)拒绝访问。 : AH00369: Failed to open the WinNT service manager..."错误
- eclipse常用插件在线安装地址或下载地址
- c语言实现单链表
- Android六大布局的介绍
- 神经网络入门 ,源码3
- nodejs中一个简单的TCP服务器端和客户端的聊天服务器
- 序列的算法(一·b)隐马尔可夫模型
- springmvc 快速入门
- 【IO】ObjectInputStream的使用方法及其注意事项
- 基于Bootstrap垂直响应的jQuery时间轴特效
- 神经网络入门 ,源码4