ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:21.76KB ,
资源ID:2817747      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2817747.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(将以顺序表A中的元素逆置例如原来顺序表A中的元素是10.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

将以顺序表A中的元素逆置例如原来顺序表A中的元素是10.docx

1、将以顺序表A中的元素逆置例如原来顺序表A中的元素是10第二章 线性表1、将以顺序表A中的元素逆置。例如原来顺序表A中的元素是100,90,80,70,60,50,40,逆置后为40,50,60,70,80,90,100。算法所用的辅助空间要尽量可能地少。用非形式算法描述,并编写C语言程序。答:描述:该顺序表A有N个元素,分别将第1个与第N个对换,第2个与第N1个对换,依此类推第i个与第Ni个对换。C语言程序:#include #include int main(void) char elem100,t; int i, n, t; printf(Please input number(1100)

2、:); /*输入要输入的元素的个数*/ scanf(%d, &n); printf(*n); printf(Please input element:n);/*输入元素*/ flushall(); for(i=0; in; +i) scanf(%c, &elemi); for(i=0; in; +i) printf(%c , elemi); printf(n); for(i=0; in/2; +i) t = elemi; elemi = elemn-i-1; elemn-i-1 = t; for(i=0; in; +i) printf(%c , elemi); getch(); return

3、0; 2、写一算法输出已知顺序表A中元素的最大值和次最大值。用非形式算法描述,并编写C语言程序。 #include #include void printFstAndSndValue(SeqList sq) int firstmax = 0; int secondmax = 0; int i = 0; if(sq.last = -1) printf(“List is empty!”); return;firstmax = sq.data0;secondtmax = 0; for(i=1; i=sq.last; +i) if(firstmax sq.datai) firstmax = sq.da

4、tai;else if(secondmax sq.datai) scondmax = sq.datai;printf(“%d %d”, firstmax, secondmax);3、设一顺序表中元素值递增有序。写一算法,将元素x插到表中适当地位置,并保持顺序表地有序性,且分析算法地时间复杂度。算法的C语言实现:int *Insert_SeqList(SeqList *L, datatype x) int i, j, t = 1; for(i=0; ilast; +i) if(L-datai datai = x) for(j=L-last; ji; -j) L-dataj = L-dataj-1

5、; L-datai = x; t = 0; break; if(t 0) L-datai+1 = x; 时间复杂度:O(n)。4、设有两个安元素值递增有序的顺序表A和B(单链表A和B),编一程序将A表和B表归并成一个新的递增有序的顺序表C(单链表),值相同的元素均保留在C表中。C程序:#include #include int main(void) int A8=1,3,4,6,8,12,34,37; int B9=14,16,17,19,26,30,41,88,91; int C17; int i = 0;int j = 0;int k = 0; printf(A array:); for(

6、i=0; i8; +i) printf(%d , Ai); printf(n); printf(B array:); for(j=0; j9; +j) printf(%d , Bj); printf(n); i = 0; j = 0; while(i8) & (j9) if(Ai Bj) Ck+ = Ai+; else if(Bj Ai) Ck+ = Bj+; else Ck+ = Ai+; while(i 8) Ck+ = Ai+; while(j 9) Ck+ = Bj+; printf(C array:); for(k=0; knext = s;/2 p-next = p-next-ne

7、xt;/3 p-next = s-next;/4 s-next = p-next;/5 s-next = L;/6 s-next = p;/7 s-next = NULL;/8 q = p;/9 while(p-next != Q) p = p-next;/10 while(q-next != NULL) q = q-next;/11 p = q;/12 p = L;/13 L = s;/14 L = p;6、已知p结点是某双向链表的中间结点,试从下列提供的语句中选出合适的语句序列。(1)在p结点后插入s结点:/7 /12 /3 /6(2)在p结点前插入s结点:/13 /8 /5 /4(3)删

8、除p结点的直接后继结点:q = p-next; p-next = q-next; q-next-prior = q-prior; free(q);(4) 删除p结点的直接前趋结点:q = p-prior;p-prior = q-prior;q-prior-next = q-next; free(q);(5)删除p结点:p-prior-next=p-next; p-next-prior=p-prior; free(p);7、设有两个线性表A和B皆是单链表存储结构。同一个表中的元素各不相同,且递增有序。写一算法,构成一个新的线性表C,使C为A和B的交集,且C中的元素也递增有序。void new(L

9、inkList A LinkList B) LinkList C; LNode *a, *b, *c, *ap, *bp; a = A-next; b = B-next; c = C-next; while(a-next!=NULL) & (b-next!=NULL) c = (LNode *)malloc(sizeof(LNode); if(a-data data) c-next = a; c = c-next; ap = a-next; free(a); a = ap; else c-next = b; c = c-next; bp = b-next; free(b); b = bp; w

10、hile(a-next != NULL) c = (LNode *)malloc(sizeof(LNode);c-next = a;c = c-next;ap = a-next;free(a);a = ap; while(b-next != NULL) c = (LNode *)malloc(sizeof(LNode);c-next = b;c = c-next;bp = b-next;free(b);b = bp;c-next = NULL;return 0;8、删除线性表a中第i个元素起的k个元素。Status DeleteK(SeqList &a,int i,int k)if(i1) | (ka.length) return INFEASIBLE; for(count=1; i+count-1 va.listsize) return ERROR; +va.length;for(i=va.length-1; va.elemix&i=0; -i) va.elemi+1 = va.elemi; va.elemi+1 = x;return OK;/*Insert_SqList */10、比较字符表A和B,并用返回值表示结果,值为正,表示AB;值为负,表示Anext; p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1