如题所述
ä¾å¦ï¼ä¸¤ä¸ªå«æn个å
ç´ çæåºï¼ééåºï¼æ´å½¢æ°ç»aåbï¼æ°ç»aåbä¸é½æ²¡æéå¤å
ç´ ï¼ï¼æ±åºå
¶å
±åå
ç´ ã
a[]={0,1,2,3,4};
B[]={1,3,5,7,9};
é£ä¹å®ä»¬ç交é为{1,3}ã
计ç®æ°ç»äº¤éå¯ä»¥éç¨å¾å¤ç§æ¹æ³ï¼ä½æ°ç»çç¸å¯¹å¤§å°ä¸è¬ä¼å½±åç®æ³çæçï¼æ以éè¦æ ¹æ®ä¸¤ä¸ªæ°ç»çç¸å¯¹å¤§å°æ¥ç¡®å®éç¨çæ¹æ³ã
ï¼1ï¼å¯¹äºä¸¤ä¸ªæ°ç»é¿åº¦ç¸å½çæ åµï¼ä¸è¬å¯ä»¥éå以ä¸3ç§æ¹æ³ã
æ¹æ³ä¸ï¼éç¨äºè·¯å½å¹¶æ¥éå两个æ°ç»ã(è¿ä¸ªåå好é¸æ°ï¼ææ¨ææ¦åææ°ç赶èï¼
设两个æ°ç»åå«ä¸ºarray1[n1]åarray2[n2],åå«ä»¥iãjä»å¤´å¼å§éå两个æ°ç»ãå¨éåè¿ç¨ä¸ï¼å¦æå½åéåä½ç½®çarray1[i]ä¸array2[j]ç¸çï¼åæ¤æ°ä¸ºä¸¤ä¸ªæ°ç»ç交éï¼è®°å½å°é便array1æarray2ä¸ï¼å¹¶ç»§ç»ååéåarray1åarray2.å¦æarray1[i]>array2[j]ï¼åé继ç»ååéåarray2.å¦æarray1[i]å°äºarray2[j]ï¼åéè¦ç»§ç»ååéåarray1ï¼ç´å°æä¸ä¸ªæ°ç»ç»æéåå³åæ¢ãæ»çæ¥è¯´ï¼å°±æ¯è°è½åäºï¼è°çä¸æ å°±èªå¢å»å§ã
代ç å¦ä¸ï¼
#include "stdafx.h"
#include <stdio.h>
void mixed(int array1[], int n1, int array2[], int n2)
{
int i = 0, j = 0, k = 0;
while (i < n1&&j < n2)
{
if (array1[i] == array2[j])
{
array1[k] = array1[i];
printf("%d\n", array1[k]);
i++;
j++;
k++;
}
else if (array1[i]>array2[j])
{
j++;
}
else if (array1[i] < array2[j])
{
i++;
}
}
}
void main()
{
int a[] = { 0, 1, 2, 3, 4 };
int b[] = { 1, 3, 5, 7, 9 };
mixed(a, 5, b, 5);
getchar();
}
ããææå¦å¾ï¼
æ¹æ³äºï¼é¡ºåºéå两个æ°ç»ï¼å°æ°ç»å ç´ åæ¾å°åå¸è¡¨ä¸ï¼åæ¶å¯¹å级çæ°ç»å ç´ è¿è¡è®¡æ°ãå¦æ为2ï¼å为两è ç交éå ç´ ã
æ¹æ³ä¸ï¼éå两个æ°ç»ä¸ä»»æä¸ä¸ªæ°ç»ï¼å°éåå¾å°çå ç´ åæ¾å°åå¸è¡¨ï¼ç¶åéåå¦å¤ä¸ä¸ªæ°ç»ï¼åæ¶å¯¹å»ºç«çåå¸è¡¨è¿è¡æ¥è¯¢ï¼å¦æåå¨ï¼å为交éå ç´ ã
ï¼2ï¼å¯¹äºä¸¤ä¸ªæ°ç»é¿åº¦ç¸å·®æ¬æ®çæ åµï¼å¦æ°ç»açé¿åº¦è¿è¿å¤§äºæ°ç»bçé¿åº¦ï¼åå¯ä»¥éç¨ä¸é¢å ç§æ¹æ³ã
æ¹æ³ä¸ï¼ä¾æ¬¡éåé¿åº¦å°çæ°ç»ï¼å°éåå¾å°çæ°ç»å ç´ å¨é¿æ°ç»ä¸è¿è¡äºåæ¥æ¾ãå ·ä½èè¨ï¼è®¾ä¸¤ä¸ªæå两个æ°ç»ä¸ºå ç´ çæéï¼åè¾å°çé£ä¸ªæ°å¨å¦ä¸ä¸ªæ°ç»ä¸äºåæ¥æ¾ï¼æ¾å°ï¼ååå¨ä¸ä¸ªäº¤éï¼å¹¶ä¸å°è¯¥ç®æ æ°ç»çæéæå该ä½ç½®åä¸ä¸ªä½ç½®ãå¦æ没ææ¾å°ï¼åæ ·å¯ä»¥æ¾å°ä¸ä¸ªä½ç½®ï¼ä½¿å¾ç®æ æ°ç»ä¸å¨è¯¥ä½ç½®åçæ°è¯å®ä¸å¨å¦ä¸ä¸ªæ°ç»ä¸åå¨ï¼ç´æ¥ç§»å¨è¯¥ç®æ æ°ç»çæéæå该ä½ç½®çåä¸ä¸ªä½ç½®ï¼å循ç¯æ¾ï¼ç´å°ä¸ä¸ªæ°ç»ä¸ºç©ºä¸ºæ¢ãå 为两个æ°ç»ä¸é½å¯è½åºç°éå¤çæ°ï¼å æ¤äºåæ¥æ¾æ¶ï¼å½æ¾å°ä¸ä¸ªç¸åçæ°xæ¶ï¼å ¶ä¸æ 为iï¼é£ä¹ä¸ä¸ä¸ªäºåæ¥æ¾çä¸çå为i+1ï¼é¿å xéå¤ä½¿ç¨ã
æ¹æ³äºï¼éç¨ä¸æ¹æ³ä¸ç±»ä¼¼çæ¹æ³ï¼ä½æ¯æ¯æ¬¡æ¥æ¾å¨åä¸æ¬¡æ¥æ¾çåºç¡ä¸è¿è¡ï¼è¿æ ·å¯ä»¥å¤§å¤§ç¼©å°æ¥æ¾è¡¨çé¿åº¦ã
æ¹æ³ä¸ï¼éç¨ä¸æ¹æ³äºç±»ä¼¼çæ¹æ³ï¼ä½æ¯éåé¿åº¦å°çæ°ç»çæ¹å¼ææä¸åï¼ä»æ°ç»å¤´é¨åå°¾é¨åæ¶å¼å§éåï¼è¿æ ·å¯ä»¥è¿ä¸æ¥ç¼©å°æ¥æ¾è¡¨çé¿åº¦ã
a[]={0,1,2,3,4};
B[]={1,3,5,7,9};
é£ä¹å®ä»¬ç交é为{1,3}ã
计ç®æ°ç»äº¤éå¯ä»¥éç¨å¾å¤ç§æ¹æ³ï¼ä½æ°ç»çç¸å¯¹å¤§å°ä¸è¬ä¼å½±åç®æ³çæçï¼æ以éè¦æ ¹æ®ä¸¤ä¸ªæ°ç»çç¸å¯¹å¤§å°æ¥ç¡®å®éç¨çæ¹æ³ã
ï¼1ï¼å¯¹äºä¸¤ä¸ªæ°ç»é¿åº¦ç¸å½çæ åµï¼ä¸è¬å¯ä»¥éå以ä¸3ç§æ¹æ³ã
æ¹æ³ä¸ï¼éç¨äºè·¯å½å¹¶æ¥éå两个æ°ç»ã(è¿ä¸ªåå好é¸æ°ï¼ææ¨ææ¦åææ°ç赶èï¼
设两个æ°ç»åå«ä¸ºarray1[n1]åarray2[n2],åå«ä»¥iãjä»å¤´å¼å§éå两个æ°ç»ãå¨éåè¿ç¨ä¸ï¼å¦æå½åéåä½ç½®çarray1[i]ä¸array2[j]ç¸çï¼åæ¤æ°ä¸ºä¸¤ä¸ªæ°ç»ç交éï¼è®°å½å°é便array1æarray2ä¸ï¼å¹¶ç»§ç»ååéåarray1åarray2.å¦æarray1[i]>array2[j]ï¼åé继ç»ååéåarray2.å¦æarray1[i]å°äºarray2[j]ï¼åéè¦ç»§ç»ååéåarray1ï¼ç´å°æä¸ä¸ªæ°ç»ç»æéåå³åæ¢ãæ»çæ¥è¯´ï¼å°±æ¯è°è½åäºï¼è°çä¸æ å°±èªå¢å»å§ã
代ç å¦ä¸ï¼
#include "stdafx.h"
#include <stdio.h>
void mixed(int array1[], int n1, int array2[], int n2)
{
int i = 0, j = 0, k = 0;
while (i < n1&&j < n2)
{
if (array1[i] == array2[j])
{
array1[k] = array1[i];
printf("%d\n", array1[k]);
i++;
j++;
k++;
}
else if (array1[i]>array2[j])
{
j++;
}
else if (array1[i] < array2[j])
{
i++;
}
}
}
void main()
{
int a[] = { 0, 1, 2, 3, 4 };
int b[] = { 1, 3, 5, 7, 9 };
mixed(a, 5, b, 5);
getchar();
}
ããææå¦å¾ï¼
æ¹æ³äºï¼é¡ºåºéå两个æ°ç»ï¼å°æ°ç»å ç´ åæ¾å°åå¸è¡¨ä¸ï¼åæ¶å¯¹å级çæ°ç»å ç´ è¿è¡è®¡æ°ãå¦æ为2ï¼å为两è ç交éå ç´ ã
æ¹æ³ä¸ï¼éå两个æ°ç»ä¸ä»»æä¸ä¸ªæ°ç»ï¼å°éåå¾å°çå ç´ åæ¾å°åå¸è¡¨ï¼ç¶åéåå¦å¤ä¸ä¸ªæ°ç»ï¼åæ¶å¯¹å»ºç«çåå¸è¡¨è¿è¡æ¥è¯¢ï¼å¦æåå¨ï¼å为交éå ç´ ã
ï¼2ï¼å¯¹äºä¸¤ä¸ªæ°ç»é¿åº¦ç¸å·®æ¬æ®çæ åµï¼å¦æ°ç»açé¿åº¦è¿è¿å¤§äºæ°ç»bçé¿åº¦ï¼åå¯ä»¥éç¨ä¸é¢å ç§æ¹æ³ã
æ¹æ³ä¸ï¼ä¾æ¬¡éåé¿åº¦å°çæ°ç»ï¼å°éåå¾å°çæ°ç»å ç´ å¨é¿æ°ç»ä¸è¿è¡äºåæ¥æ¾ãå ·ä½èè¨ï¼è®¾ä¸¤ä¸ªæå两个æ°ç»ä¸ºå ç´ çæéï¼åè¾å°çé£ä¸ªæ°å¨å¦ä¸ä¸ªæ°ç»ä¸äºåæ¥æ¾ï¼æ¾å°ï¼ååå¨ä¸ä¸ªäº¤éï¼å¹¶ä¸å°è¯¥ç®æ æ°ç»çæéæå该ä½ç½®åä¸ä¸ªä½ç½®ãå¦æ没ææ¾å°ï¼åæ ·å¯ä»¥æ¾å°ä¸ä¸ªä½ç½®ï¼ä½¿å¾ç®æ æ°ç»ä¸å¨è¯¥ä½ç½®åçæ°è¯å®ä¸å¨å¦ä¸ä¸ªæ°ç»ä¸åå¨ï¼ç´æ¥ç§»å¨è¯¥ç®æ æ°ç»çæéæå该ä½ç½®çåä¸ä¸ªä½ç½®ï¼å循ç¯æ¾ï¼ç´å°ä¸ä¸ªæ°ç»ä¸ºç©ºä¸ºæ¢ãå 为两个æ°ç»ä¸é½å¯è½åºç°éå¤çæ°ï¼å æ¤äºåæ¥æ¾æ¶ï¼å½æ¾å°ä¸ä¸ªç¸åçæ°xæ¶ï¼å ¶ä¸æ 为iï¼é£ä¹ä¸ä¸ä¸ªäºåæ¥æ¾çä¸çå为i+1ï¼é¿å xéå¤ä½¿ç¨ã
æ¹æ³äºï¼éç¨ä¸æ¹æ³ä¸ç±»ä¼¼çæ¹æ³ï¼ä½æ¯æ¯æ¬¡æ¥æ¾å¨åä¸æ¬¡æ¥æ¾çåºç¡ä¸è¿è¡ï¼è¿æ ·å¯ä»¥å¤§å¤§ç¼©å°æ¥æ¾è¡¨çé¿åº¦ã
æ¹æ³ä¸ï¼éç¨ä¸æ¹æ³äºç±»ä¼¼çæ¹æ³ï¼ä½æ¯éåé¿åº¦å°çæ°ç»çæ¹å¼ææä¸åï¼ä»æ°ç»å¤´é¨åå°¾é¨åæ¶å¼å§éåï¼è¿æ ·å¯ä»¥è¿ä¸æ¥ç¼©å°æ¥æ¾è¡¨çé¿åº¦ã
温馨提示:答案为网友推荐,仅供参考