我的代码:for语句都出问题了,不知道问题在哪里,谢谢拉
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
int SequenceList(int num1, int num2);
void main()
{
int n1, n2,k;
printf("请输入第一个表长度:");
scanf("%d", &n1);
printf("请输入第二个表长度:");
scanf("%d", &n2);
SequenceList(n1,n2);
}
int SequenceList(int num1,int num2)
{
int table1[MAXSIZE];
int table2[MAXSIZE];
int table3[MAXSIZE];
printf("line1:please insert %d numbers:",num1);
for (int i=0;i<num1;i++)
{
table1[i] = scanf("%d",k);
}
printf("line2:please insert %d numbers:",num2);
for (int i=0;i<num2;i++)
{
table2[i] = scanf("%d",k);
}
for(int i=0;i<max(num1,num2);i++){
if(table1[i]!=NULL)
table3[2*i]=table1[i];
}
if(table2[i]!=NULL)
table3[2*i+1]=table2[i];
}
printf("line3is:");
for(int i=0;i<num1+num2;i++){
printf("%d ",table3[i]);
}
}
修改后为什么出现乱码?
c语言实现两个顺序表的合并
if (表1结束 || 表1.当前值>表2.当前值) {表2.当前值插入新表;表2.当前值向后移动} else if (表2结束 || 表1.当前值<表2.当前值) {表1.当前值插入新表;表1.当前值向后移动} else if (表1.当前值=表2.当前值) {表1.当前值插入新表;表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语言顺序表 合并
1、应该是编译时就存在问题吧,你在函数SequenceList中的语句table1[i] = scanf("%d",k);中的k未定义,导致有问题。解决这个问题要么将在main中定义k的语句移到SequenceList中,要么将k定义成全局变量;2、另外scanf("%d",k)请改成scanf("%d",&k)或者scanf("%d",&(table1[i]);。
c语言有序线性表合并数据
7结束,pRes中保存合并的线性表数据,数据个数为counterRes;在此基础上,也可以写出链表的算法
C语言 两个有序(从小到大)顺序表合并成为一个顺序表,合并后的结果放在第...
int i; int j=0; for(i=0;i<A.length;i++) { if(B.data[j]<A.data[i]) { InsElem(A,B.data[j],i+1);\/\/这里j++;if(j >= B.length)\/\/这里,不能让j越界break; } } printf("合并后线性表A:...
用C语言编写算法实现将两个递增顺序表合并为一个递增顺序表
1.最容易的办法就是把两个表保存在一个新的表里,然后冒泡排序(就是这么暴力。)2.不过这个问题用指针实现最方便了。两个指针分别指着两个递增表:比较指针所指的值大小,将小的那个保存在新的表里,然后将小的那个指针往前走一步。再比较,再保存,再走...直到其中一个表走完,把另一个表剩...
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语言编合并两个顺序线性表的程序?
\/*顺序表长度*\/}SeqList; \/*顺序表初始化*\/void ListInitialize(SeqList *pL, int size){ if(size<LISTMINSIZE) size=LISTMINSIZE; \/*限定不能小于最小尺寸*\/ pL->listsize=size; pL->base=(ListDT*)malloc(pL->listsize*sizeof(ListDT)); if(!pL->base) exit...
解释下面C语言程序(合并顺序表,有顺序表La,Lb)
因为顺序表La、Lb都已经排好序了,那么要将他们合并成有序表放在Lc中,将La和Lb从他们的初始元素进行比较,谁小就将谁放入到Lc中,同时Lc和放入元素的顺序表都指向下一个元素,然后继续循环。最后肯定会有一个顺序表先为空,那么就把不为空的顺序表中的元素直接复制到表Lc中即可。
c语言怎么合并两个动态顺序表?
将第一个表末尾元素的next指针指向第二个表开始元素