链表创建添加删除
来源:互联网 发布:网络春晚2013 编辑:程序博客网 时间:2024/05/21 18:50
#include<stdio.h>#include<stdlib.h>typedef struct NODE{ int num; struct NODE *pNext;}Node;void createList(Node **pList);void delElement(Node **pList,size_t ji);void addElement(Node **pList,size_t ji,int shu);void delAll(Node **pList);int main(){ Node *p = NULL; createList(&p); delAll(&p); while(p != NULL) { printf("%d\n",p->num); p = p->pNext; } return 0;}void delAll(Node **pList)//销毁链表{ Node *del; while(*pList != NULL) { del = *pList; *pList = (*pList)->pNext; free(del); }}void addElement(Node **pList,size_t ji,int shu)在第几个位置后面添加数字{ size_t weiJun = 1; Node *zou = *pList; Node *add = (Node*)malloc(sizeof(Node)); add->num = shu; add->pNext = NULL; if(NULL == *pList) { *pList = add; return; } if(1 == ji) { add->pNext = *pList; *pList = add; return; } while(zou->pNext != NULL) { weiJun++; if(weiJun == ji) { add->pNext = zou->pNext; zou->pNext = add; return; } zou = zou->pNext; } zou->pNext = add;}void delElement(Node **pList,size_t ji)//删除第几个位置的数字{ Node *zou; Node *del; size_t weiJun = 1; if(NULL == *pList) { return; } if(1 == ji) { del = *pList; *pList = (*pList)->pNext; free(del); return; } zou = *pList; while(zou->pNext != NULL) { weiJun++; if(weiJun == ji) { del = zou->pNext; zou->pNext = zou->pNext->pNext; free(del); return; } zou = zou->pNext; }}void createList(Node **pList){ Node *w, *u; int shu; printf(“输入一个数字\n"); scanf("%d",&shu); while(shu != 0) { u = (Node*)malloc(sizeof(Node)); u->num = shu; u->pNext = NULL; if(NULL == *pList) { *pList = u; } else { w->pNext = u; } w = u; printf("输入一个数字"); scanf("%d",&shu); }}
0 0
- 链表创建添加删除
- 链表操作-创建、输出、删除,添加节点
- 双向链表的创建,添加与删除
- 动态链表的创建,输出,删除,添加
- SQL 创建表、 添加、删除列
- Oracle创建表、添加修改删除字段
- SQL数据库常用命令-创建,删除表-添加,修改,删除字段
- SQL数据库常用命令-创建,删除表-添加,修改,删除字段
- SQL 数据表的创建 删除 添加字段 删除整表
- 创建表,添加修改删除字段,插入修改删除数据
- JavaScript创建、添加、删除元素
- Oracle创建,添加,修改,删除
- oracle 创建用户全过程(创建/删除表空间、添加/删除用户、授权/撤销权限)
- Java双向链表的创建结点,清空链表,添加结点,删除结点
- Mysql创建表,删除表,添加列等基本操作
- ASP+ACCESS动态创建表,添加修改删除字段
- sql创建一个表并添加删除字段
- 创建和删除链表
- Android开发工具ADT关联源码与API文档
- R语言: 如何安装 googleVis
- 学生信息管理系统总结(一)——错误总结
- 图像旋转原理说明-视频处理基础(2)
- HDU 2955 01背包
- 链表创建添加删除
- Android WebView常见问题及解决方案汇总
- nginx学习(3)
- 插入排序及归并排序
- Uva 10387 Billiard
- 【软件工程】软工初印象——软件设计之灵魂
- Away3D4.0入门教程
- poj 1001 Exponentiation 高精度乘方
- boost::ptime::local_time调用的开销