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...