算法设计 无序表LA=(2,5,1),LB=(4,3),将LA、LB归并为有序表LC(
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 17:27:05
算法设计 无序表LA=(2,5,1),LB=(4,3),将LA、LB归并为有序表LC(
算法设计
已知 :无序表LA=(2,5,1),LB=(4,3)
求:将LA、LB归并为有序表LC(利用线性表的基本操作完成)
(提示:创建空表LC;将LA、LB中所有元素,插入到LC中去,每次插入选择恰当的位置,保证LC有序 )
算法设计
已知 :无序表LA=(2,5,1),LB=(4,3)
求:将LA、LB归并为有序表LC(利用线性表的基本操作完成)
(提示:创建空表LC;将LA、LB中所有元素,插入到LC中去,每次插入选择恰当的位置,保证LC有序 )
你要写伪码还是C代码
再问: C代码
再答: //传入LA,LB, LA、LB 元素个数,返回LC
int* merge_array(int *LA, int LA_Size, int *LB, int LB_Size)
{
int *LC= malloc((LA_Size + LB_Size)*sizeof(int)); //结果数组
int i=0;//i 用来指示LA当前元素序号
int j=0;//j 用来指示LB当前元素序号
int k=0;//k 为LC中该元素位置
while (i < LA_Size && j < LB_Size)
{
LC[k++] = LA[i] < LB[j] ? LA[i++] : LB[j++];
}
while (i < LA_Size)
{
LC[k++] = LA[i++];
}
while (j < LB_Size)
{
LC[k++] = LB[j++];
}
return LC;
}
修改几个拼写错误,经过gcc4.3编译正常,请采纳~~
再问: malloc' : undeclared identifier
'LA_size' : undeclared identifier
'LB_size' : undeclared identifier
'initializing' : cannot convert from 'int' to 'int *'
qq.obj - 1 error(s), 0 warning(s)
再答: #include
...
'LA_size' 和 'LB_size'开始打错了,请用上面的代码
如果你用的是vs或clang
请吧int *LC= malloc((LA_Size + LB_Size)*sizeof(int));
改成int *LC=(int *) malloc((LA_Size + LB_Size)*sizeof(int));
再问: error C2065: 'malloc' : undeclared identifier
这个是什么意思,是我系统原因么?我用的是 visual c++ 6.0
再答: 这是我的全部程序输出很正常,算法复杂度O(nlogn)
再问: 谢谢啦~我采用你倒数第二次那个好了~错误最少了,你的全部程序里出现乱码了,我有点看不懂……总觉得好对不起你的样子。。。
再答: 额,去B的windows, 那你记得首先要对LA和LB排个序
再问: C代码
再答: //传入LA,LB, LA、LB 元素个数,返回LC
int* merge_array(int *LA, int LA_Size, int *LB, int LB_Size)
{
int *LC= malloc((LA_Size + LB_Size)*sizeof(int)); //结果数组
int i=0;//i 用来指示LA当前元素序号
int j=0;//j 用来指示LB当前元素序号
int k=0;//k 为LC中该元素位置
while (i < LA_Size && j < LB_Size)
{
LC[k++] = LA[i] < LB[j] ? LA[i++] : LB[j++];
}
while (i < LA_Size)
{
LC[k++] = LA[i++];
}
while (j < LB_Size)
{
LC[k++] = LB[j++];
}
return LC;
}
修改几个拼写错误,经过gcc4.3编译正常,请采纳~~
再问: malloc' : undeclared identifier
'LA_size' : undeclared identifier
'LB_size' : undeclared identifier
'initializing' : cannot convert from 'int' to 'int *'
qq.obj - 1 error(s), 0 warning(s)
再答: #include
...
'LA_size' 和 'LB_size'开始打错了,请用上面的代码
如果你用的是vs或clang
请吧int *LC= malloc((LA_Size + LB_Size)*sizeof(int));
改成int *LC=(int *) malloc((LA_Size + LB_Size)*sizeof(int));
再问: error C2065: 'malloc' : undeclared identifier
这个是什么意思,是我系统原因么?我用的是 visual c++ 6.0
再答: 这是我的全部程序输出很正常,算法复杂度O(nlogn)
再问: 谢谢啦~我采用你倒数第二次那个好了~错误最少了,你的全部程序里出现乱码了,我有点看不懂……总觉得好对不起你的样子。。。
再答: 额,去B的windows, 那你记得首先要对LA和LB排个序
已知三角形内角LA LB LC 2LC=LA+LB,LA-LB=40°求LA LB LC 的度数
请用C语言编程实现 1.已知线性表LA和LB中的数据元素按值非递增有序排列,现要求将LA和LB归并为一个新
la-1/2l+lb-1/3l+lc-1/4l=0,求a+b+c的值.
线性表LA=(3,5,8,11),LB=(2,6,8,9,11,15,20),LA和LB代表两个集合A.B,
在四边形ABCD中,LD=60°,LB比LA大20°,LC是LA的2倍,求LA,LB,LC的大小.
茬圆内接四边形abcd满足:la:lb:lc=|:2:5求ld多少
已知角ABC中,LA-LB=15度,LC二75度,求LB的度数
若la-5l+lb+6l=0,求-b-a-(-2/3)的值
如图,请用适当方法说明LA+LB+LC+LD+LE=180°
已知三角形ABC中,LC=90,且SINa和COSb是方程KX^2-KX+1=0的两根,求K,LA,LB的值
定义一个新的顺序表lc,其长度是两个顺序表la和lb的长度之和,设置3个指针la与lb,指针指向内容进行比较,小的放入l
△ABC中,LA是最小角,LB是最大角,LB=4LA求LB的取值范围