收藏 分享(赏)

数据结构作业1.doc

上传人:hyngb9260 文档编号:5549322 上传时间:2019-03-07 格式:DOC 页数:4 大小:28KB
下载 相关 举报
数据结构作业1.doc_第1页
第1页 / 共4页
数据结构作业1.doc_第2页
第2页 / 共4页
数据结构作业1.doc_第3页
第3页 / 共4页
数据结构作业1.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1、已知顺序表 L,其中的元素按值递增有序排列,设计一个算法插入一个元素 X 后保持该顺序表的有序排列。要求算法的空间复杂度为。#include#define MAXSIZE 100#define OK 1#define ERROR 0typedef int ElemType;/定义线性表typedef structElemType elemMAXSIZE;int last;SeqList;/创建空表void Initlist(SeqList *L)L-last=-1;/输入递增有序顺序表void putseqList(SeqList *L,int n)int i;for(i=0;ielemi

2、);L-last=L-last+n; /求表长int LenList(SeqList *L)int Len;Len=L-last+1;return Len;/判断插入位置int PositionList(SeqList *L,int X)int j;for(j=0;jlast;j+) if(Xelemj) /如果找到位置就返回地址,否则知道循环结束再返回最后一个/地址 return j+1; /注意这里要加 1,下标 j 表示第 j+1 个元素,所以返回 j+1 return (L-last+1); /这里不能用 else,否则就属于 for 循环里面的了 /插入元素int InsList(S

3、eqList *L,int i,int e) int k;if(iL-last+2)printf(“插入位置不合理“);return(ERROR);if(L-last=MAXSIZE-1)printf(“表已满无法插入“);return(ERROR);for(k=L-last;k=i-1;k-)L-elemk+1=L-elemk;L-elemi-1=e;L-last+;return(OK);/输出元素int OutputSeqList(SeqList *L)int i;for(i=0;ilast;i+)printf(“%d,“,L-elemi);return(L-elemi);/主程序void

4、 main()int s,c;SeqList L;Initlist(printf(“请输入顺序表长度: “);scanf(“%d“,printf(“请输入递增顺序表: “);putseqList(LenList(printf(“表长为%dn“,LenList(printf(“请输入要插入的元素: “);scanf(“%d“,InsList(OutputSeqList(printf(“n“);2、从顺序表 L 中删除所有值为 X 的元素。void delete Value(SeqListfor(i=L.n-1;i=0;i- -) if(L.datai=value)for(j=i+1;j0) j=0;for(i=1;inext; While(pp-next=q-next;free(q); else p=p-next;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报