PTA 7 4 在有序鍊錶中插入資料 20分

2021-10-24 16:03:17 字數 1772 閱讀 7665

給定一批嚴格遞增排列的整型資料,給定乙個x,若x不存在,則插入x,要求插入後保持有序。存在則無需任何操作。

輸入格式:

輸入有兩行: 第乙個數是n值,表示鍊錶中有n個資料。後面有n個數,分別代表n個資料。 第二行是要插入的數。

輸出格式:

輸出插入後的鍊錶資料,以空格分開。行末不能有多餘的空格。

輸入樣例1:

在這裡給出一組輸入。例如:

513

69114

輸出樣例1:

在這裡給出相應的輸出。例如:

134

6911

輸入樣例2:

在這裡給出一組輸入。例如:

513

69113

輸出樣例2:

在這裡給出相應的輸出。例如:

136

911

#include

using

namespace std;

template

<

typename datatype>

struct node

;template

<

typename datatype>

class

linklist

;template

<

typename datatype>

linklist

::linklist()

template

<

class

datatype

>

linklist::~

linklist()

}template

<

typename datatype>

void linklist

::printlist()

else

p = p-

>next;

//工作指標p後移,注意不能寫作p++

} cout<}/*插入函式*/

template

<

typename datatype>

void linklist

::insert

(datatype x)

while

(s->data >data&&s-

>next!=

nullptr

)//查詢第i – 1個結點

if(s-

>data == z-

>data)

if(s-

>data>z-

>data)

if(s-

>next==

nullptr)}

template

<

typename datatype>

linklist

::linklist

(datatype a,

int n)

r->next =

nullptr

;//單鏈表建立完畢,將終端結點的指標域置空

}int

main()

linklist<

int>

l(a,n)

;int b;

cin>>b;

l.insert

(b);

l.printlist()

;return0;

}

有序鍊錶的插入 PTA

已知乙個遞增有序鍊錶l 帶頭結點,元素為整數 編寫程式將乙個新的整數差入到l中,並保持 l的有序性。其中單鏈表的型別定義參考如下 typedef struct elementtype typedef struct inodelnode,linklist 輸入格式 輸入分三行 第一行 元素個數 第二行...

在有序鍊錶中插入結點,仍保持其有序性

如果在乙個有序陣列中,你想插入乙個資料,還需要把其後所有元素往後移一位。那麼有沒有乙個比較好的資料結構可以實現簡單便捷的插入操作呢?那就是鍊錶,鍊錶由兩個部分組成,前面的部分為資料部分,用來儲存資料,後面的部分為指標部分,用來指向下乙個結點,鍊錶的資料結構就很好地解決了插入麻煩的問題。本文只介紹尾插...

OJ 在有序陣列中插入資料

問題及 檔名稱 test.cpp 完成日期 2014年 12 月 04 日 版本號 v1.0 問題描述 定義好乙個有10個元素的陣列,先輸入9個呈公升序的數作為前9個元素,再輸入乙個數,要求按原來排序的規律將它插入陣列中。輸入描述 輸入前九個數,再輸入乙個需要插入的數 程式輸出 輸出排序後的新順序 ...