題目如下:
輸入
多組(不超過 5 組)資料。
每組輸入資料分為三行,第一行有兩個數字 n,m($0<n,m\leq10000$),分別表示集合 a 和集合 b 的元素個數。後兩行分別表示集合 a 和集合 b。每個元素為不超出 int 範圍的整數,每個元素之間有乙個空格隔開。
輸出
針對每組資料輸出一行資料,表示合併後的集合,要求從小到大輸出,每個元素之間有乙個空格隔開。
分析:將兩個陣列融合之後要去除重複元素,再排序。
我借助鍊錶,遍歷兩個陣列,依次往煉表中插入元素,鍊錶的插入的地方是要找到一處,這一處的值小於待插入的數字,而下乙個位置的值大於待插入數字。
具體的實現如下:
// onlinetest1.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include#include#includetypedef struct linkl node;
node* getfather(node* head,node* p)
} return head;
}node* insert(node* p, int num)
if (num > p->val)
if (num < p->val)
else
} return head;
}void mergeset(int*a,int la,int*b ,int lb)
for (j = 0; j < lb; j++)
while (p != null)
else
p = p->next; }}
int main()
for (j = 0; j < m; j++)
mergeset(a, n, b, m);
} return 0;
}
C語言鍊錶節點插入與刪除
順序表是我們資料結構中的基本儲存形式,現在給定乙個順序表,有如下操作 insert x y 在順序表中x位置插入y元素,遍歷輸出當前順序表的所有元素。delete x 刪除順序表中的x元素,如果有多個x元素,只刪除第乙個x,遍歷輸出當前順序的所有元素。locate x 輸出順序表中x元素的所在的位置...
C語言學習筆記 鍊錶(三)鍊錶的插入
從指定節點後方插入新節點 假設我們已有五個節點,我們要把乙個新節點new插入到3後邊。需要三個步驟 找到 3 這個節點。把新節點指向3這個節點的下乙個節點 3 next new next 把3指向新節點。3 next new 定義結構體 struct test 輸出鍊錶資料 void printli...
c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶
下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...