順序表應用5 有序順序表歸併

2021-07-15 15:35:28 字數 1339 閱讀 1141

time limit: 100ms memory limit: 800k

已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a、b表裡所有元素,並且c表仍然保持有序。

輸入分為三行:

第一行輸入m、n(1<=m,n<=10000)的值,即為表a、b的元素個數;

第二行輸入m個有序的整數,即為表a的每乙個元素;

第三行輸入n個有序的整數,即為表b的每乙個元素;

輸出為一行,即將表a、b合併為表c後,依次輸出表c所存放的元素。

5 3

1 3 5 6 9

2 4 10

1 2 3 4 5 6 9 10

#include

#include

#include

#define max 10000002

using namespace std;

typedef struct

sq;void initlist(sq *l,sq *m,sq *z)

l->length = 0;

m->elem = (int *)malloc(max*4);

if( !m->elem )

m->length = 0;

z->elem = (int *)malloc(max*4);

if( !z->elem )

z->length = 0;

}void create(sq *l, int n, sq *m, int m)

l->length = n;

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

m->length = m;

}void caozuo(sq *l,sq *m,sq *z)

else if(l->elem[i] > m->elem[j])

else

}while(i < l->length)

while(j < m->length)

z->length = m->length+l->length;

}void display(sq *z)

}int main()

{int n,m;

sq l;

sq m;

sq z;

scanf("%d %d",&n,&m);

initlist(&l,&m,&z);

create(&l, n, &m, m);

caozuo(&l, &m, &z);

display(&z);

這是用順序表做的,雖然很麻煩,但是還是必會的東西。

**菜鳥,若有錯誤,請多包涵!!

順序表應用5 有序順序表歸併

已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表a b的元素個數 第二行輸入m個有序的整數,即為表a的每乙個元素 第三行輸入n個有序的...

順序表應用5 有序順序表歸併

time limit 100ms memory limit 800k 有疑問?點這裡 已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表...

順序表應用5 有序順序表歸併

time limit 100ms memory limit 800k 已知順序表a與b是兩個有序的順序表,其中存放的資料元素皆為普通整型,將a與b表歸併為c表,要求c表包含了a b表裡所有元素,並且c表仍然保持有序。輸入分為三行 第一行輸入m n 1 m,n 10000 的值,即為表a b的元素個數...