- 6
- 0
- 约1.35万字
- 约 54页
- 2018-05-04 发布于四川
- 举报
2.1 线性表的定义和操作 二元组表示 ElemType 线性表的典型操作1 线性表的典型操作2 线性表的典型操作3 线性表的典型操作4 *2.2 线性表的顺序存储结构和操作实现 2.2.1 线性表的顺序存储 a b c 2.2.2 顺序存储下的线性表的操作实现 1. 初始化线性表 2. 清除线性表 9.向线性表L的表头插入元素x 11. 向线性表L中第pos个元素位置插入元素x,若插入成功返回1,否则返回0 12. 向有序线性表L中插入元素x,使得插入后仍然有序 有序线性表是指按元素值从小到大顺序排列的线性表,如(23,36,45,49,56,73,80)就是一个有序线性表。向有序线性表中插入一个新元素后要保证仍然是有序的,需要进行的插入过程为: (1) 检查表空间是否用完,若是则分配更大的存储空间; (2) 采用顺序查找的方法查找出x的插入位置; (3) 从表尾到插入位置止,把所有位置上的元素均后移一个位置; (4) 把新元素写入到空出的位置上; (5) 线性表的长度增1。 算法描述为:P26 void InsertOrderList(struct List *L, ElemType x) { int i,j; /*若数组空间用完则重新分配更大的存储空间*/ if(L-size==L-MaxSize) againMalloc(L); /*顺序查找出x的插入位置*/ for(i=0; iL-size; i++) if(xL-list[i]) break; /*从表尾到下标i元素依次后移一个位置,把i位置空出*/ for(j=L-size-1; j=i; j--) L-list[j+1]=L-list[j]; /*把x值赋给下标为i的元素*/ L-list[i]=x; /*线性表长度增1*/ L-size++; } 15. 从线性表L中删除第pos个元素并返回它,若删除失败则停止程序运行 15. 从线性表L中删除第pos个元素并返回它,若删除失败则停止程序运行 删除过程如下: (1) 检查pos的值是否有效,若无效则退出程序运行; (2) 把第pos个元素的值暂时保存起来,以便删除后返回; (3) 从第pos+1个元素位置开始至表尾元素止,依次前移每个元素; (4) 使线性表的长度减1; (5) 返回被暂时保存的原第pos个元素的值。 用C语言描述如下:P29 ElemType DeletePosList(struct List *L, int pos){ ElemType temp; int i; if(pos1 || posL-size) { /*pos越界则删除失败*/ printf(pos值越界,不能删除!\n); exit(1); } temp=L-list[pos-1]; for(i=pos; iL-size; i++) L-list[i-1]=L-list[i]; L-size--; return temp; } 在这个算法中,运行时间主要花费在第(3)步前移n-pos个元素的操作上。若删除任一位置上元素的概率都相同,即均为1/n,则每次删除一个元素的平均移动元素次数为,所以该算法的时间复杂度为O(n)。 16. 从线性表L中删除值为x的第一个元素,若删除成功返回1否则返回0 int DeleteValueList(struct List *L, ElemType x){ int i,j; /*从线性表中顺序查找出值为x的第一个元素*/ for(i=0; iL-size; i++) if(L-list[i]==x) break; /*若查找失败,表明不存在值为x的元素,应返回0*/ if(i==L-size) return 0; /*删除值为x的元素L-list[i]*/ for(j=i+1; jL-size; j++) L-list[j-1]=L-list[j]; /*线性表长度减1*/ L-size--; /*删除成功返回1*/ return 1;
您可能关注的文档
- 世界现代设计史2012年版第三讲.ppt
- 销售代表素质模型.ppt
- 销售订单作业标准.ppt
- 消化系统、腹膜.ppt
- 世界现代设计史2012年版第四讲.ppt
- 销售及销售人员管理.ppt
- 世界现代设计史2012年版第五讲.ppt
- 世界现代设计史第六讲.ppt
- 销售能力核心——顾问式销售流程.ppt
- 世界现代设计史-第六讲.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)