一个算法给你(假如是升序,并且不重复)
while(表1不结束 && 表2不结束) {
if (表1结束 || 表1.当前值>表2.当前值) {表2.当前值插入新表;表2.当前值向后移动}
else if (表2结束 || 表1.当前值<表2.当前值) {表1.当前值插入新表;表1.当前值向后移动}
else if (表1.当前值=表2.当前值) {表1.当前值插入新表;表1.当前值和表2.当前值向后移动}
}
#include<stdio.h>不能假设他不重复啊,要考虑他有重复的情况的啊
追答我假设的是各自里面没有重复
追问这个是顺序表吗?好像是链表啊?
要的是代码诶。思路我也是这样的
这个思路我也知道啊,要求代码
追答。。。。最好有个具体的描述,顺序表存的是数字吗?
追问可以是数字啊,元素类型可以是多种的啊
c语言实现两个顺序表的合并
else if (表2结束 || 表1.当前值<表2.当前值) {表1.当前值插入新表;表1.当前值向后移动} else if (表1.当前值=表2.当前值) {表1.当前值插入新表;表1.当前值和表2.当前值向后移动} } include<stdio.h>#include<malloc.h>#include<stdlib.h>struct student { int num; str...
如何用c语言编合并两个顺序线性表的程序?
\/*参数越界*\/ else *pelem=L.base[index]; returnflg;} \/*求顺序表长度*\/int ListLen(SeqList L){ returnL.len; } \/*在顺序表中指定序号位置插入元素*\/BOOL ListInsert(SeqList *pL, int pos, ListDT d){ BOOLflg=TRUE; inti; if...
...合并后的结果放在第一个顺序表中(两表无相同元素
int InsElem(SqList &sq,ElemType x,int i) \/*插入元素*\/{int j;if (i<1 || i>sq.length+1) \/*无效的参数i*\/return 0;for (j=sq.length;j>i-1;j--) \/\/这里sq.data[j]=sq.data[j-1];sq.data[i-1]=x; \/*在位置i处放入x*\/sq.length++; \/*线性表长度增1*...
C语言 求两个有序顺序表的并集
int MergeArray(int* arr1, int len1, int* arr2, int len2, int** arrRst){ arrRst = new int[len1+len2];int* arrRstt = *arrRst;if (*arrRst != 0){ int *p = arr1;int i = 0;int i1 = 0,i2 = 0;while(i1<len1 || i2<len2){ p = arr1;while (*p<=*...
用C语言编写算法实现将两个递增顺序表合并为一个递增顺序表
1.最容易的办法就是把两个表保存在一个新的表里,然后冒泡排序(就是这么暴力。)2.不过这个问题用指针实现最方便了。两个指针分别指着两个递增表:比较指针所指的值大小,将小的那个保存在新的表里,然后将小的那个指针往前走一步。再比较,再保存,再走...直到其中一个表走完,把另一个表剩...
C语言 顺序表的合并
1、c语言是没有引用的,可以使用一个const指针来模拟引用void InitList(SqList *L){L->last=0;}。2、这个是顺序表的初始化,不用管int LenList(SqList L){return L.last;}。3、插入操作,这一步是关键,插入顺序表int InsertList(SqList *L,int i,ElemType x){int k;if(L->last>=MAX...
编写一个函数实现两个按升序排列的顺序表的合并操作,要用C语言编写,能...
\/*采用数组实现 int merge(int* a,int* b,int*c,int alen,int blen){ int i=0,j=0,k=0;\/\/每次将a和b中当前的元素进行比较,并将小的一个存入到c中 while(i<alen && j<blen){ if(a[i]<b[j])c[k]=a[i++];else c[k]=b[j++];k++;} \/\/其中一个数组已经结束,将另一...
c语言怎么合并两个动态顺序表?
将第一个表末尾元素的next指针指向第二个表开始元素
C语言顺序表 合并
1、应该是编译时就存在问题吧,你在函数SequenceList中的语句table1[i] = scanf("%d",k);中的k未定义,导致有问题。解决这个问题要么将在main中定义k的语句移到SequenceList中,要么将k定义成全局变量;2、另外scanf("%d",k)请改成scanf("%d",&k)或者scanf("%d",&(table1[i]);。
C语言合并两个线性表,输入为表L1=(2,3),L2=(3,4,6)顺序已知,输出为表...
\/*建立一个空表*\/ sqlist initlist(){ sqlist l;l.a = (int*)malloc(listinitsize*sizeof(int));if(!l.a)exit(OVERFLOW);l.length = 0;l.listsize = listinitsize;return l;} sqlist creatlist(sqlist *l, int num){ int j;int p;for(j = 0; j < num; ++j){ scanf("...