`

(转)合并两个有序线性表的元素(C语言版)

阅读更多
  1. //合并两个有序线性表的元素保证无重复元素  
  2.   
  3. #include<stdio.h>  
  4. struct LinerList  
  5. {  
  6.     int *list;  
  7.     int size;  
  8.     int MAXSIZE;  
  9. };  
  10. int main()  
  11. {  
  12.     int list1[15]={2,5,7,8,10,14,19,22,25,30};  
  13.     int list2[15]={3,5,8,9,11,18,22,28,30,32,35};  
  14.     int list3[30];  
  15.     struct LinerList L1={list1,10,15};  
  16.     struct LinerList L2={list2,11,15};  
  17.     struct LinerList L3={list3,0,30};  
  18.     int i,j,k;  
  19.     for(i=j=k=0;k<L3.MAXSIZE&&i<L1.size&&j<L2.size;k++)  
  20.         {//这里的大括号可不加  
  21.             if(L1.list[i]>L2.list[j])  
  22.             L3.list[k]=L2.list[j++];  
  23.             else if(L1.list[i]==L2.list[j])  
  24.                 {  
  25.                     L3.list[k]=L1.list[i++];  
  26.                     j++;  
  27.                 }  
  28.             else L3.list[k]=L1.list[i++];  
  29.         }  
  30.         while(k<L3.MAXSIZE&&i<L1.size)  
  31.             L3.list[k++]=L1.list[i++];  
  32.         while(k<L3.MAXSIZE&&j<L2.size)  
  33.             L3.list[k++]=L2.list[j++];  
  34.         L3.size=k;  
  35.         printf(" 合并后的数组长度是【%d】\n各元素如下:\n",L3.size);  
  36.         for(k=0;k<L3.size;k++)  
  37.             printf("%4d",L3.list[k]);  
  38.         printf("\n");  
  39.         return 0;  
  40.   
  41. }  
  42. 本文来源:http://blog.csdn.net/michellehsiao/article/details/8632797
分享到:
评论

相关推荐

    线性表的合并/c语言

    该程序功能强大,是用数据结构的单链表实现的,是面向过程的win32控制台程序,输入线性表的数据的时候,不用输入要建立的节点个数,直接以回车结束,数与数间以空格隔开

    数据结构实验报告-线性表-两个有序线性表的归并算法

    从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 ...

    数据结构实验报告1-线性表-两个有序表的归并-实验内容及要求.docx

    从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 ...

    合并两个有序单链线性表(元素采用顺序输入法)

    单链表的结点包含指针域,其中的指针用来指示线性表元素之间的逻辑关系,现在要顺序输入线性表中的元素,就要找到上一个结点的指针域中的指针。然后合并两个单链线性表得到新的单链线性表,新表的元素也要有序。

    两个有序线性表合并,要求另辟空间

    这个程序的功能是将两个有序线性表合并为一个有序线性表,要求另辟空间。

    两个有序链表的合并代码

    实现有序合并链表的C语言描叙的先输入两个从小到大的有序序列, 在合并后 ,也是从小到大输出。

    C++线性表合并,数据结构作业

    用C++实现线性表的合并,可直接运行,方法简便

    数据结构 两个有序线性表的归并算法 西南交通大学

    数据结构 两个有序线性表的归并算法 西南交通大学

    两个递减线性表的合并

    从键盘输入两个单链表A和B,其表中元素递减有序,编写程序将A和B归并成一个按元素值递减有序的单链表C。分别输出单链表A、B和C所有结点的值。

    合并线性表

    假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存储结构,请编写算法,将A表和B表归并成一个按元素递减有序排列的线性表C,并要求利用原表结点空间存放表C。

    有序表合并 合并 有序表 表

    最近学的 数据结构,, 很实用的 而已借鉴最近学的 数据结构,, 很实用的 而已借鉴最近学的 数据结构,, 很实用的 而已借鉴

    数据结构线性表的源代码(严蔚敏c语言版)

    第一章线性表的基本操作的源代码和顺序和链式两种存储结构两个有序表的合并

    用数据结构线性表的合并

    用数据结构把A和B两个线性表合并一下,再放入C表里,并排好顺序

    c++两有序单链表的合并算法

    [问题描述] 假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并计算表长。要求利用原来两个单链表的结点存放归并后的单链表。 ...

    两个非递减存储顺序线性表归并为非递减顺序线性表

    数据结构的线性表实现,顺序线性表的建立,输入,输出,排序,以及归并。可以参考一下

    线性表的应用(数据结构-线性表)

    一条记录有学号和成绩两个数据项,按成绩由大到小建立两个有序表(分别顺序表和链式表实现),并合并成一个有序表(有能力的同学才做这个合并)。第一个表输入的数据如下(学号,成绩):(1,70),(2,85), (3,75), (4,...

    数据结构实验顺序存储合并表然后删除合并表中相同元素

    数据结构实验 有两个非递增有序的线性表A和B,采取顺序存储将两个表合并成C,然后删除C中相同的元素的多余元素。

    数据结构实验报告.doc

    数据结构实验报告一,作业,需要的自取,...1、掌握线性表的基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构和链接存储结构上的运算。 2、熟练运用掌握的线性表的操作,实现一元n次多项式的加法运算

    两个有序链表的合并

    将两个有序的链表合并成一个链表,合并后的链表仍然是有序的,依次输出合并后的链表的元素值,并求出第奇数位置元素之和

    数据结构实验-线性表使用

    1、 创建线性表类。线性表的存储结构使用链表。 2、 提供操作:自表首插入元素、删除指定元素、搜索表中是否有指定元素、输出链表。 3、 接收键盘录入的一系列...6、 创建两个有序链表,使用链表遍历器实现链表的合并。

Global site tag (gtag.js) - Google Analytics