習題2.4 遞增的整數序列連結串列的插入 (15分) 浙江大學資料結構
習題2.4 遞增的整數序列連結串列的插入 (15分)
本題要求實現一個函式,在遞增的整數序列連結串列(帶頭結點)中插入一個新整數,並保持該序列的有序性。
函式介面定義:
List Insert( List L, ElementType X );
其中List結構定義如下:
typedef struct Node *PtrToNode;
struct Node {
ElementType Data; /* 儲存結點資料 */
PtrToNode Next; /* 指向下一個結點的指標 */
};
typedef PtrToNode List; /* 定義單連結串列型別 */
L是給定的帶頭結點的單連結串列,其結點儲存的資料是遞增有序的;函式Insert要將X插入L,並保持該序列的有序性,返回插入後的連結串列頭指標。
裁判測試程式樣例:
#include <stdio.h>
#include <stdlib.h>
typedef int ElementType;
typedef struct Node *PtrToNode;
struct Node {
ElementType Data;
PtrToNode Next;
};
typedef PtrToNode List;
List Read(); /* 細節在此不表 */
void Print( List L ); /* 細節在此不表 */
List Insert( List L, ElementType X );
int main()
{
List L;
ElementType X;
L = Read();
scanf("%d", &X);
L = Insert(L, X);
Print(L);
return 0;
}
/* 你的程式碼將被嵌在這裡 */
輸入樣例:
5
1 2 4 5 6
3
輸出樣例:
1 2 3 4 5 6
題解為:
List Insert( List L, ElementType X )
{
PtrToNode pre;
pre = L;
while(pre->Next!=NULL)
{
if(pre->Next->Data > X)
break;
else
pre = pre->Next;
}
PtrToNode tmp =(PtrToNode)malloc(sizeof(struct Node));
tmp->Next = pre->Next;
tmp->Data = X;
pre->Next = tmp;
return L;
}
相關文章
- 遞增的整數序列連結串列的插入
- HBU DS 1-3 遞增的整數序列連結串列的插入 (20分)
- 資料結構—-連結串列的增和插入(2018/10/23)資料結構
- 資料結構學習--連結串列資料結構
- 學習 JavaScript 資料結構(二)——連結串列JavaScript資料結構
- python資料結構——連結串列(無序列表)Python資料結構
- 資料結構:單迴圈連結串列的建立插入與刪除資料結構
- 資料結構連結串列筆試題資料結構筆試
- 資料結構-單連結串列、雙連結串列資料結構
- 資料結構實驗之連結串列八:Farey序列資料結構
- 資料結構 - 連結串列資料結構
- 連結串列-資料結構資料結構
- 資料結構—連結串列資料結構
- 資料結構--連結串列資料結構
- 資料結構-連結串列資料結構
- Redis資料結構—連結串列與字典的結構Redis資料結構
- 資料結構與演算法學習-連結串列下資料結構演算法
- 資料結構與演算法學習-連結串列上資料結構演算法
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 資料結構實驗之連結串列五:單連結串列的拆分資料結構
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 資料結構之連結串列篇(單連結串列的常見操作)資料結構
- 資料結構之連結串列資料結構
- 資料結構之「連結串列」資料結構
- JavaScript資料結構--連結串列JavaScript資料結構
- C語言資料結構:雙向連結串列的增刪操作C語言資料結構
- 連結串列入門與插入連結串列
- 資料結構實驗之連結串列四:有序連結串列的歸併資料結構
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 連結串列!比陣列更適合做增刪操作的資料結構陣列資料結構
- 資料結構:跳躍連結串列資料結構
- 資料結構——雙向連結串列資料結構
- 資料結構之單連結串列資料結構
- 資料結構之連結串列操作資料結構
- JAVA資料結構之連結串列Java資料結構
- 資料結構04——單連結串列資料結構
- JavaScript資料結構 之 連結串列JavaScript資料結構
- js資料結構--連結串列(likedList)JS資料結構