



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 简述下列术语:线性表,顺序表,链表。答:线性表是最常用且最简单的一种数据结构,一个线性表是N个数据元素的有限序列。顺序表是指用一组地址连续的储存单元依次存储线性表的数据元素。用这种方法存储的线性表简称顺序表。链表是用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。2 何时选用顺序表,何时选用链表作为线性表的存储结构合适?各自的主要优缺点是什么?答:线性表的逻辑顺序与物理顺序一致;数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。而存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。链表中结点的逻辑顺序和物理顺序不一定相同。3 在顺序表中插入和删除一个结点平均需要移动多少个结点?具体的移动次数取决于哪两个因素?答:在顺序表中插入和删除一个结点平均需要移动1个结点,具体移动次数取决于时间复杂和空间复杂程度。4 链表所表示的元素是否有序?如有序,则有序性体现于何处?链表所表示的元素是否一定要在物理上是相邻的?有序表的有序性又如何理解?答:链表元素的有序并不一定是值得有序,而是逻辑次序上的有序;链表中的元素并不需要物理位置上相邻,因为其逻辑联系已经在结点中包括了。5 设顺序表L是递增有序表,试写一算法,将x插入到L中并使L仍是递增有序表。答:using System;using System.Collections.Generic;using System.Collections;using System.Text;namespace test class arrlist_test public static ArrayList a = new ArrayList(); public static void main() do currency.write(请写入下一个值); a.Add(Console.ReadLine(); a.Sort(); while(currency .choice (); for (int i = 0; i next;while(pa!=null) pa=pa-next,i+;return i;7 写一算法将单链表中值重复的结点删除,使所得的结果链表中所有结点的值均不相同。 答:void DeleteList ( LinkList L ) ListNode *p , *q , *s; p=L-next; while( p-next&p-next-next) q=p;while (q-next) if (p-data=q-next-data) s=q-next;q-next=s-next;free(s); else q=q-next; p=p-next; 8 写一算法从一给定的向量A删除值在x到y(xy)之间的所有元素(注意:x和y是给定的参数,可以和表中的元素相同,也可以不同)。 答:#includetypedef int datatype;#define maxsize 100/*定义顺序表*/typedef struct datatype datamaxsize; int last; SeqList;/*初始化*/void init_SeqList(SeqList *L) L-last=-1;/*输入顺序表*/void input_SeqList(SeqList *L,int n) int i; L-last=0;/初始化 for(i=0;idatai); L-last=L-last+n;/*判断*/int measure(SeqList *L,int x,int y,int n) if (L-data0=L-datan-1 & x=L-datan-1 & ydata0) |/是n-1 (L-data0datan-1 & x=L-data0 & ydatan-1) return 1; else return 0;/*删除值*/int delete_list(SeqList *L,int x,int y) int i=0,j=0; while (ilast) /* if (L-datai=x) & (L-dataidatai-distence=L-datai;*/ if(L-dataidataiy) L-dataj+=L-datai; i+; /L-last-=distence; L-last=j; /printf(j=%dn,j); if (L-last=0) printf(原表已为空表!); return 0; return 1;/*输出元素*/int output_SeqList(SeqList *L) int i; for (i=0;ilast;i+) printf(%d ,L-datai); puts(); return(L-datai);void main() int s,x,y; SeqList L; init_SeqList(&L); printf(请输入顺序表长度: ); scanf(%d,&s); printf(请输入顺序表: ); input_SeqList(&L,s); /output_SeqList(&L); printf(输入x和y的值:); scanf(%d,%d,&x,&y); if (measure(&L,x,y,s) delete_list(&L,x,y); output_SeqList(&L); else printf(不存在xy之间的元素!);9 设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。答:node *mergelink(node *p, node *q) node *h, *r; h = (node*) malloc (sizeof(node); h-next = NULL; r = h; while (p != NULL & q != NULL) if (p-data data) r-next = p; r = p; p = p-nex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 战略合作的寻求与维护计划
- 城市交通可持续发展规划师重点基础知识点
- 法学概论知识点学习中的难点与突破试题及答案
- 2024年山东财经大学辅导员考试真题
- 2024年湖北省医疗保障局下属事业单位真题
- 陕西省山阳县2025届七年级数学第二学期期末统考试题含解析
- 2024年海南省外事办公室下属事业单位真题
- 2024年贵州省应急管理厅下属事业单位真题
- 2024年安徽省生态环境厅下属事业单位真题
- 2024年防城港市园林管理处招聘笔试真题
- 无人机拍摄培训课件
- 电力调度自动化系统预案
- 透析患者高钾血症饮食护理
- 搜索三力测试题及答案
- 2025年陕西省八年级中考三模生物试题(原卷版+解析版)
- 高分子化学材料结构与性能试题及答案
- 特种设备操作人员培训管理制度
- 2025年湖北省孝感市中考物理模拟试卷(3月份)(含解析)
- 2024年四年级英语下册 Module 4 Things we enjoy Unit 12 The ugly duckling第1课时教学实录 牛津沪教版(三起)
- 2025年煤化工主要设备一览及工作原理等分析
- ICU医院感染暴发应急处置演练方案
评论
0/150
提交评论