兩個有序鍊錶序列的合併 (20 分)

2021-09-05 07:52:06 字數 1047 閱讀 9511

7-90 兩個有序鍊錶序列的合併 (20 分)

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2合併後的新的非降序鍊錶s3。

輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−1表示序列的結尾(−1不屬於這個序列)。數字用空格間隔。

在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格;若新鍊錶為空,輸出null

1 3 5 -1

2 4 6 8 10 -1

1 2 3 4 5 6 8 10
答案:

單鏈表實現

#include#include #define true        1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

typedef int elemtype;

typedef int status;

typedef struct lnode

lnode,*linklist;

status list_create(linklist &cl)

else

break;

}rear->next = null;

return 0;

}status list_merge(linklist &l1,linklist &l2,linklist &l3)

else

//pc = pc->next;

}pc->next = pa?pa:pb;

return ok;

}void list_print(linklist &cl)

else

printf(" %d",p->data);

p = p->next;}}

}int main()

兩個有序鍊錶序列的合併 20 分

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2合併後的新的非降序鍊錶s3。輸入格式 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。輸出格式 在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格 若新鍊錶...

5 51 兩個有序鍊錶序列的合併 20分

5 51 兩個有序鍊錶序列的合併 20分 已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的並集新非降序鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1 1 表示序列的結尾 1 1 不屬於這個序列 數字用空格間隔。在一行中輸出合併後新的非降序鍊錶,數字間用空格分開...

5 51 兩個有序鍊錶序列的合併(20分)

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的並集新非降序鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1 1 表示序列的結尾 1 1 不屬於這個序列 數字用空格間隔。在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出n...