链表(1)
来源:互联网 发布:淘宝优惠劵 编辑:程序博客网 时间:2024/05/19 08:02
#include<stdio.h>#include<stdlib.h>struct NODE{ int num; struct NODE *pNext;};void createList( struct NODE **pp );void delElement( struct NODE **pp );void showList(struct NODE *pHead);void addElement(struct NODE **pHead,int shu);int main(){ struct NODE *p = NULL; addElement(&p,88); addElement(&p,188); addElement(&p,288); addElement(&p,388); showList(p); return 0;}//添加void addElement(struct NODE **pHead,int shu){ struct NODE *add; struct NODE *ji = *pHead; add = malloc(sizeof(struct NODE)); add->num = shu; add->pNext = NULL; //是要添加到第一个吗? if(NULL == *pHead) { *pHead = add; } else { //找到最后一个节点 while( ji->pNext != NULL ) { ji = ji->pNext; } //加上 ji->pNext = add; }}//删除void delElement( struct NODE **pp ){ struct NODE *del; struct NODE *ji = *pp; //是只有一个节点吗? if( NULL == (*pp)->pNext ) { //记录要删除的节点 del = *pp; //给指针赋值 *pp = (*pp)->pNext; //释放 free(del); } else { //通过ji找到要删除节点的前一个节点 while( ji->pNext->pNext != NULL ) { ji = ji->pNext; } //要删除的节点记录下来 del = ji->pNext; //释放 free(del); //让ji变成最后一个节点 ji->pNext = NULL; }}void showList(struct NODE *pHead){ while(pHead != NULL) { printf("%d\n",pHead->num); pHead = pHead->pNext; }}void createList( struct NODE **pp ){ struct NODE *u, *w; int i; for(i=1;i<=5;i++) { u = malloc(sizeof(struct NODE)); u->num = i * 10; u->pNext = NULL; if(NULL == *pp) { *pp = u; } else { w->pNext = u; } w = u; }}
0 0
- 链表(1)
- 数据结构-链表(1)
- 链表(1)
- 数据结构(1)-链表
- 浅谈C链表(1)
- 链表(一):单链表1
- 数据结构学习(1)-链表
- 链表(数1退3)
- C 算法精介----链表(1)
- C 算法精介----链表(1)
- 链表(1)----单链表基本操作
- 面试专题1----------链表(单链表)
- C++学习平时作业(1)--链表
- 数据结构与算法--链表(1)
- 链表1
- 链表1
- 链表1
- 链表(1)
- 萨嘟嘟嘟嘟的打算的发
- FLV文件格式解析
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- 求水仙花数
- 压感容流 磁链不变 电压为零 相当于短路,电流为0相当于开路
- 链表(1)
- 大型企业信息化中的BPM 和SOA 实战
- drupal7分类权限控制方法
- IOS之helloworld
- java 中的设计模式--单例模式
- VB如何才能在win8下运行?
- LeetCode Binary Tree Postorder Traversal(二叉树的后序遍历 非递归实现)
- OpenStack消息队列AMQP技术具体实现 [分析基于icehouse]
- 本文主要介绍ios新建工程,工程中包含文件的作用,以及XCode基本知识,ios项目的运行等信息 iOS学习1:Hello iOS, HelloWorld