数据结构之线性表的链式存储
来源:互联网 发布:淘宝轮播图片大全 编辑:程序博客网 时间:2024/05/20 15:36
单链表的初始化、插入、删除和遍历
#include <stdlib.h>#include <stdio.h>typedef struct LNode{ int data; //链表数据 struct LNode* next; //链表指针}LNode,*LinkList;/*头插法-建立单链表*/LinkList HeadCreate(LinkList la){ int num=0; int num1=0; la=(LinkList)malloc(sizeof(LNode)); //建立头结点 la->next=NULL; printf("请输入10个数字进行链表的初始化工作:\n"); //scanf("%d",&num); while(num<10) { LNode *p=(LinkList)malloc(sizeof(LNode)); scanf("%d",&num1); p->data=num1; p->next=la->next; la->next=p; num++; } return la;}/*单链表插入操作*/bool InsertList(LinkList la,int i,int e){ //在la链表中的i位置插入数值e int j=1; LinkList p=la,s; while(p && j<i) { p=p->next; j++; } if(p==NULL) return false; if((s=(LinkList)malloc(sizeof(LNode)))==NULL) return false; s->data=e; s->next=p->next; p->next=s; return true;}/*单链表删除操作*/bool DeleteList(LinkList la,int i){ int j=1; LinkList p=la,q; while(p && j<i) //p指向第i-1个元素 { p=p->next; j++; } if(p==NULL || p->next==NULL) //表示不存在第i-1个和第i的元素 return false; q=p->next; p->next=q->next; free(q); return true;}//表的遍历void TravelList(LinkList la){ LinkList p=la->next; while(p!=NULL) { printf(" %d->",p->data); p=p->next; } printf("\n");}int main(){ int a=0;//需要被插入的元素 int po=0;//插入元素的位置 LNode la; LinkList p; p=HeadCreate(&la); //头插法创建长度为10的单链表 TravelList(p); printf("请输入要插入的整数元素:\n"); scanf("%d",&a); printf("请输入元素的位置:\n"); scanf("%d",&po); InsertList(p,po,a); //在链表的第2个位置插入元素10 TravelList(p); printf("请输入要删除的元素的位置:"); scanf("%d",&po); DeleteList(p,po); TravelList(p); return 0;}//运行环境vc6.0等一般C语言的编译器都可以
此处只是实现的单链表对于其他类型的链表基本上都是在此基础上进行的一些升级和改造,大家能理解单链表基本上就差不多了。
- 数据结构之线性表的链式存储
- 数据结构:线性表之链式存储结构
- 【数据结构】线性表之链式存储结构
- 数据结构:线性表之链式存储结构
- 数据结构笔记之线性表的链式存储结构
- Python 数据结构 之 线性表 的链式存储结构
- 数据结构之线性表——栈的链式存储
- 数据结构之线性表——队列的链式存储
- 【数据结构】线性表的链式存储结构
- 【数据结构】-线性表的链式存储结构
- 数据结构:线性表的链式存储
- 数据结构啊----线性表的链式存储
- 数据结构-线性表的链式存储
- 数据结构之线性表——链表的链式存储(链式描述)
- 数据结构(4)之线性表之单链式存储
- 数据结构2----线性表顺序存储和链式存储的实现(霜之小刀)
- C语言数据结构-2.线性表之链式存储结构
- 数据结构学习笔记(二)------------线性表之链式存储
- Hibernate中可以直接来调用session,不需要工具类
- vim搜索和替换
- div随鼠标移动
- stl string 常用函数
- 7zip SDK中C++模块的编译
- 数据结构之线性表的链式存储
- 狼奔代码生成器初用之我见
- 黑马程序员_流程控制总结
- OpenGL Transformation
- vim g s区别
- lamp
- 关于Hibernate中xml的配置的汇总
- 113 - Power of Cryptography
- 个人、家庭、社会