1) 插入操作
在顺序表L的第i (1=L.length+1)个位置插入新元素e。如果i的输入不合法,则返回false,表示插入失败;否则,将顺序表的第i个元素以及其后的元素右移一个位置,腾出一个空位置插入新元素e,顺序表长度增加1,插入成功,返回true。
bool ListInsert(SqList L, int i, ElemType e){
//本算法实现将元素e插入到顺序表L中第i个位置
if ( i1 || iL.length+1 )
return false; // 判断i的范围是否有效
if(L.length=MaxSize)
return false; // 当前存储空间已满,不能插入
for (int j =L.length; j =i; j--) // 将第i个位置及之后的元素后移
L.data[j]=L.data[j-l];
L.data[i-1]=e; //在位置i处放入e
L.length++; //线性表长度加1
return true;
}
复制纯文本新窗口
bool ListDelete(SqList L,int i, int e){
//本算法实现删除顺序表L中第i个位置的元素
if(i1 || iL.length)
return false; // 判断i的范围是否有效
e=L.data[i-1] ; // 将被删除的元素赋值给e
for (int j=i; jL.length; j++) //将第i个位置之后的元素前移
L.data[j-1]=L.data[j];
L.length--; //线性表长度减1
return true;
}
int LocateElem(SqList L, ElemType e){
//本算法实现查找顺序表中值为e的元素,如果查找成功,返回元素位序,否则返回0
int i;
for(i=0;iL.length;i++)
if(L.data[i]==e)
return i+1; // 下标为i的元素值等于e,返回其位号i+1
return 0; //退出循环,说明查找失败
}
typedef struct LNode{ //定义单链表结点类型
ElemType data; //数据域
struct LNode *next; //指针域
}LNode, *LinkList;
图2-4? 头插法建立单链表
头插法建立单链表的算法如下:
LinkList CreatList1(LinkList L){
//从表尾到表头逆向建立单链表L,每次均在头结点之后插入元素
LNode *s;int x;
L=(LinkList)malloc(sizeof(LNode)); //创建头结点
L-next=NULL; //初始为空链表
scanf(%d, x); //输入结点的值
while(x!=9999) { //输入 9999 表示结束
s=(LNode*)malloc(sizeof(LNode) ); //创建新结点
s-datax;
s-next=L-next; //重点(如果使用头插法的话)
L-next=s; //将新结点插入表中,L为头指针
scanf (%d, x);
} //while 结束
return L;
}
图2-5? 尾插法建立单链表
尾插法建立单链表的算法如下:
LinkList CreatList2(LinkList L){
//从表头到表尾正向建立单链表L,每次均在表尾插入元素
int x; // 设元素类型为整型
L=(LinkList)malloc(sizeof(LNode));
LNode *s, *r=L; //r 为表尾指针
scanf (%d, x); //输入结点的值
while (x!=9999) { //输入 9999 表示结束
s=(LNode *)malloc(sizeof(LNode));
s-data=x; //重点
r-next=s;
r=s; //r指向新的表尾结点
scanf (%d, x);
您可能关注的文档
- 四班《关爱他人快乐自己》主题班会课件.ppt
- 四变压器课件.ppt
- 四川大学免疫学总复习最新复习提纲.ppt
- 四川大学现代通讯技术实验报告(模三).pdf
- 四川大学研讨会公司汇报.pptx
- 四川大学自动控制原理实验报告完整带数据.doc
- 四川电力诊断报告.ppt
- 四川高考文综模拟试题及答案(一).doc
- 四川工程造价员考试土建机考题.doc
- 四川护理职业学院附属医院上半绩效管理工作报告.doc
- 2026年中国同轴电缆市场数据调查、监测研究报告.docx
- 郴州市北湖区2025-2026学年六年级数学第一学期期末检测试题含解析.doc
- 2026届赣州市定南县数学六上期末联考模拟试题含解析.doc
- (2026年)冠心病患者护理查房PPT课件.pptx
- 2025届江苏宿迁沭阳县联考初三下学期5月质量检测试题数学试题试卷含解析.doc
- 2026年中国桐果市场数据调查、监测研究报告.docx
- 2025年唐县六年级数学第一学期期末考试模拟试题含解析.doc
- 湖北省大冶市2024-2025学年九年级化学第一学期期末监测试题含解析.doc
- 2025年江苏省镇江市润州区数学三上期末学业水平测试模拟试题含解析.doc
- (2026年)肝硬化腹水患者的护理PPT课件.pptx
最近下载
- 操作手册_Fluke754操作手册.pdf
- 关于事业单位岗位管理制度实施后有关问题的处理意见.docx VIP
- 关于绑架的小故事-绑架关起来的故事.docx VIP
- 2019±800kV及以上特高压直流系统用直流转换开关.docx VIP
- ±800kV特高压直流输电线路工程导线选型研究-工硕士专业毕业论文.docx VIP
- 饿了么何以从草根中脱颖而出?.pdf VIP
- 商务礼仪第三版课后习题答案徐汉文、张云河高等教育出版社.pdf VIP
- PC-CE轮机长循环检验报告模板.docx VIP
- PC-CE轮机长循环检验报告模板.doc VIP
- 杨涟人物研究——以《杨忠烈公文集》为中心.docx VIP
原创力文档

文档评论(0)