C語言鍊錶插入

2021-08-02 08:45:44 字數 989 閱讀 5952

題目如下:

輸入

多組(不超過 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 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...