如何用C合併兩個已經排好序的陣列為陣列

2021-03-04 04:39:39 字數 995 閱讀 4710

1樓:手機使用者

我想要合

bai併成一個陣列一du定還要按順序重新排一zhi遍,不管以前是否dao排序。要合內並可以採用迴圈賦值的方法吧,原容來兩個陣列假定為a[10],b[10],合併的為c,排好序的a中肯定不重複,直接放入c中,可用:int t;

for(t=0;t<10;t++) c[t]=a[t];對b中元素進行檢驗,若與a不重複,繼續放入。

bool flag=true;

for(int i=0;i<10;i++)陣列元素都放入後對c排序就行了。

2樓:

首先用兩個

來指標a,b分別指向第自一個和第二個有序的陣列,用另一指標pt指向存放答案的陣列;

若(*a)>(*b)則b++,(*pt++)=(*b),否則a++,(*pt++)=(*a);

若a與b都指向已知有序陣列末尾的下一位,演算法結束。

c++中兩個陣列,一個陣列已經排好序了,另一個陣列如何對應變動元素位置呀??

3樓:示申僉

隨著d陣列的排序做改變就是了

#include "stdio.h"

int main()

;int d=;

int i,j,tmp;

for(i=0;i<3;i++)

for(j=i+1;j<4;j++)

if(d[i]>d[j])          //排序同時,讓a陣列跟著做變換

for(i=0;i<4;i++)

printf("%d ",a[i]);

printf("\n");

}3,5,1,2

目的達到。

4樓:匿名使用者

冒泡程式互換的那段**部分,在交換 d[i] d[i+1]的時候順便連 a[i] a[i+1] 也互換了不就行了麼,咋這點還想象不出來啊,就跟 excel 排序似的,你按照a列來排,你不能只讓a列動,那就錯位了。

如何用c語言編合併兩個順序線性表的程式

1 一開始的思路 把a b都丟進c裡,然後對c排序。人們一開始想到的總是最懶的辦法,往往是最沒效率的。改進 由於a b是排好序的,先把a丟進c裡,再拿b元素一個個往裡查詢插入。這麼做要頻繁移動元素,如果線性表不是連結串列的話,開銷很大。再改進 從a b中各拿一個元素出來,比較後把小的放進c裡,再從剛...

51微控制器 C51如何將兩個8位數合併成16位數

第一種 unsigned int a a th0 a a 8 tl0 第二種方du法 zhi a th0 0x 100 tl0 請檢查下是不是有些字母dao沒有寫正確。版可以直接複製我寫的權這兩個式子試下。c51將兩個8位數合併成一個16位數 unsigned int temp unsigned c...

如何用兩個人的名字設定情侶網名,如何用兩個人的名字設定一個情侶網名

叫什麼名字呢?告訴名字的話比較好起。如果想簡單點就是兩個人的名字各取一到兩個字,中間用符號或表情連線起來。俗氣一點就是心形表情,或者 再或者日文的。設定情侶網名如何用兩天人的名字。如何用兩個人的名字設定一個情侶網名 建議名字如下 黃泉絕陪你丿 一一一一奈何定等你丿 怪咖 我陪你 一一一一吃貨 我養你...