遞增的整數序列連結串列的插入
本題要求實現一個函式,在遞增的整數序列連結串列(帶頭結點)中插入一個新整數,並保持該序列的有序性。
函式介面定義:
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 ){
List t=(List)malloc(sizeof(struct Node));
t->Data=X;
t->Next=NULL;
List head=L;
while(L->Next!=NULL&&L->Next->Data<=X){
L=L->Next;
}
t->Next=L->Next;
L->Next=t;
return head;
}
相關文章
- HBU DS 1-3 遞增的整數序列連結串列的插入 (20分)
- 習題2.4 遞增的整數序列連結串列的插入 (15分) 浙江大學資料結構資料結構
- 資料結構—-連結串列的增和插入(2018/10/23)資料結構
- 連結串列入門與插入連結串列
- 連結串列-插入排序排序
- 單連結串列的排序(插入,選擇,冒泡)排序
- 兩個有序連結串列序列的交集
- 單連結串列逆位表示的 2 個整數求和
- 連結串列基礎2(超簡單)--單連結串列的插入和刪除
- 連結串列與遞迴遞迴
- 結點插入到單連結串列中
- 1290. 二進位制連結串列轉整數
- 雙向連結串列 尾節點插入
- 雙向連結串列————查詢、刪除、插入結點
- 資料結構:單迴圈連結串列的建立插入與刪除資料結構
- c語言單連結串列的實現,包括連結串列的建立、插入、查詢、刪除、列印、長度計算C語言
- python資料結構——連結串列(無序列表)Python資料結構
- 反轉連結串列(遞迴與棧)遞迴
- 利用遞迴實現連結串列的排序(歸併排序)遞迴排序
- 用遞迴的方法將單連結串列逆向輸出遞迴
- 147. 對連結串列進行插入排序排序
- C語言單向連結串列的增刪操作C語言
- 連結串列的ADT
- Golang從合併連結串列聊遞迴Golang遞迴
- 資料結構_連結串列_單向迴圈連結串列 & 雙向連結串列的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 反轉連結串列、合併連結串列、樹的子結構
- 環形連結串列_相交連結串列_多數元素(java語言)Java
- 單向迴圈連結串列——查詢、刪除、插入結點
- 雙向迴圈連結串列————遍歷、查詢、插入結點
- day3 連結串列-增刪查
- LeetCode-147-對連結串列進行插入排序LeetCode排序
- 為什麼陣列查詢比連結串列要快?而插入刪除比連結串列效率低陣列
- 連結串列-迴圈連結串列
- 連結串列-雙向連結串列
- 連結串列 - 單向連結串列
- 資料結構__連結串列_單連結串列的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- Leetcode 最小調整數+滑動視窗遞增子序列LeetCode
- 資料結構實驗之連結串列八:Farey序列資料結構