有两张单调递增有序的线性表A和B,采用顺序存储结构,将这两张表合并成C表,要求C表单调递减有序_第1页
有两张单调递增有序的线性表A和B,采用顺序存储结构,将这两张表合并成C表,要求C表单调递减有序_第2页
有两张单调递增有序的线性表A和B,采用顺序存储结构,将这两张表合并成C表,要求C表单调递减有序_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/* Note:Your choice is C IDE */#include "stdio.h"#include "stdlib.h"#define OK 1#define ERROR 0#define TRUE 1#define OVERFLOW -2typedef int status;typedef int elemtype;#define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef structelemtype *elem;int length;int listsize;SqList;

2、status InitList_Sq(SqList *L)/*构造一个空的顺序表 */L->elem=(elemtype*)malloc(LIST_INIT_SIZE*sizeof(el emtype);if(!L->elem) exit(OVERFLOW);L->length=0;L->listsize=LIST_INIT_SIZE;return OK;void shengcheng_Sq(SqList *L)/建* 立一个顺序表, 含有 n 个数据元素。 */int m,n;printf("please enter some data:");sc

3、anf("%d",&n);/*printf(" 请输入 %d 个元素: ",n);*/for(m=0;m<n;m+)scanf("%d",&L->elemm);L->length+;void shuchu_Sq(SqList L)/*输出顺序表及顺序表的长度*/int i;/*printf(" 顺序表中的元素是: n");*/for(i=0;i< L.length;i+)printf("%d", L.elemi);printf("n")

4、;void MergeList_Sq(SqList* La,SqList *Lb,SqList *Lc)/* 将 两个顺序有序表 A 和 B 合并为一个有序表 C。*/elemtype *pa,*pb,*pc,*pa_last,*pb_last; pa=La->elem;pb=Lb->elem;Lc->listsize =Lc->length =La->length +Lb->length ;pc=Lc->elem =(elemtype *)malloc(Lc->listsize *sizeof(elemtype);if(!Lc->elem

5、) exit(OVERFLOW);pa_last=La->elem+La->length-1;pb_last=Lb->elem+Lb->length-1;while(pa<=pa_last && pb<=pb_last)if(*pa<=*pb) *pc+=*pa+;else *pc+=*pb+;while(pa<=pa_last) *pc+=*pa+;while(pb<=pa_last) *pc+=*pb+;void nizhi_Sq(SqList *La,SqList *Lb)/将* 顺序表逆置,将 结果保存到另外的顺序表

6、中。 */int m,p;InitList_Sq(Lb);p=La->length-1;for(m=0;m<=p;m+)Lb->elemm=La->elemp-m;Lb->length+;void main()SqList La,Lb,Lc,Ld;InitList_Sq(&La);InitList_Sq(&Lb);InitList_Sq(&Lc);InitList_Sq(&Ld); shengcheng_Sq(&La); shuchu_Sq(La); shengcheng_Sq(&Lb); shuchu_Sq(Lb);M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论