給定一批嚴格遞增排列的整型資料,給定乙個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個元素,再輸入乙個數,要求按原來排序的規律將它插入陣列中。輸入描述 輸入前九個數,再輸入乙個需要插入的數 程式輸出 輸出排序後的新順序 ...