6 2 有序順序表的插入 10分

2021-10-11 19:47:07 字數 1607 閱讀 4794

6-2 有序順序表的插入 (10分)

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert_sortedsq(sqlist &l, elemtype e)用於向順序表中按遞增的順序插入乙個資料。 比如:原資料有:2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。 要考慮擴容的問題。

函式介面定義:

status listinsert_sortedsq(sqlist &l, elemtype e);

裁判測試程式樣例:

//庫函式標頭檔案包含

#include

#include

#include

//函式狀態碼定義

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

typedef int status;

//順序表的儲存結構定義

#define list_init_size 100

#define listincrement 10

typedef int elemtype; //假設線性表中的元素均為整型

typedef structsqlist; //順序表型別定義

//函式宣告

status listinsert_sortedsq(sqlist &l, elemtype e);

//順序表初始化函式

status initlist_sq(sqlist &l)

//賦值

l.length = 0;

l.listsize = list_init_size;

return ok;
//順序表輸出函式

void listprint_sq(sqlist l)

else

}}int main()

listprint_sq(l);

return 0;/* 請在這裡填寫答案 */

輸入格式: 第一行輸入接下來要插入的數字的個數 第二行輸入數字 輸出格式: 輸出插入之後的數字

輸入樣例:

52 3 9 8 4

輸出樣例:

2 3 4 8 9

1,把e直接新增在順序表的尾部,

2,進行氣泡排序 就行了;

當然l.elem[0]要特別考慮

冒泡一定要熟練!!!

是i=l.length-1;

status listinsert_sortedsq(sqlist &l, elemtype e)

else if(l.length==1)

else

l.elem[1]=e;

l.length++;

}else if(l.length>1)

} }}

}

之前用的是邊插入資料邊排序的方法,結果只過了乙個測試點。而且怎麼也改不過來

所以增刪改查四個模組

結合使用,就可以較容易地解決問題

``

6 2 有序順序表的插入(10 分)

6 2 有序順序表的插入 10 分 本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2...

6 2 有序順序表的插入 10分

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。要考慮擴容的問題。stat...

6 2 有序順序表的插入

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。要考慮擴容的問題。stat...