[問題]兩個排序好的陣列,合併成另一個排序好ꨠ…
#include<iostream.h>
int merge(int nums1[],int length1,int nums2[],int length2)
{
int i,j,k=0;
int result[length1+length2];
for( ;i<length1 && j<length2; ) // 判斷nums1跟nums2中值的大小,小的先
// 擺入result中
{ if(nums1[i]<nums2[j])
{result[k++]=nums1[i++];}
else if(nums1[i]>nums2[j])
{result[k++]=nums2[j++];}
else
{result[k++]=nums1[i++];
result[k++]=nums2[j++];}
} //上述做完有可能將nums1全放入但
// nums2還沒放入所以:
for(int l=i;l<length1;l++) //如果i沒到底則全部放入
{result[k++]=nums1[l];}
for(int m=j;m<length2;m++) //如果j沒到底則全部放入
{result[k++]=nums2[m];}
for(int i=0;i<8;i++) //印出新的array中的值
{
printf("new array:%d",result[i]);
}
}
int main()
{
int nums1[]={1,3,5,6,13}; //定義兩個內部值案小到大排好的
//array
int nums2[]={3,7,13};
merge(nums1,5,nums2,3); //call副程式
system("pause");
======================================================
compile後出現"error: invalid types `int[int]' for array subscript"
編譯器所指出的錯誤我不是很懂他所要表達的意思,
可能是小弟基本觀念哪裡有誤解,請各位指點,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.130.1
推
04/20 11:00, , 1F
04/20 11:00, 1F
※ 編輯: conan77420 來自: 61.229.130.1 (04/20 11:02)
→
04/20 11:05, , 2F
04/20 11:05, 2F
→
04/20 11:05, , 3F
04/20 11:05, 3F
推
04/20 11:06, , 4F
04/20 11:06, 4F
→
04/20 11:07, , 5F
04/20 11:07, 5F
※ 編輯: conan77420 來自: 61.229.130.1 (04/20 11:14)
推
04/20 11:14, , 6F
04/20 11:14, 6F
推
04/20 11:16, , 7F
04/20 11:16, 7F
→
04/20 11:16, , 8F
04/20 11:16, 8F
→
04/20 11:17, , 9F
04/20 11:17, 9F
→
04/20 11:17, , 10F
04/20 11:17, 10F
→
04/20 11:17, , 11F
04/20 11:17, 11F
→
04/20 11:18, , 12F
04/20 11:18, 12F
→
04/20 11:18, , 13F
04/20 11:18, 13F
→
04/20 11:23, , 14F
04/20 11:23, 14F
推
04/20 11:32, , 15F
04/20 11:32, 15F
推
04/20 11:39, , 16F
04/20 11:39, 16F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章