bool insert( list l, elementtype x )
l->data[i]=x;
l->last=l->last+1;//不要忘記長度加一
break;
}else if(i==l->last&&l->data[i]>x)
}return true;
}
本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。
bool insert( list l, elementtype x );
其中list
結構定義如下:
typedef int position;
typedef struct lnode *list;
struct lnode ;
l
是使用者傳入的乙個線性表,其中elementtype
元素可以通過》、==、《進行比較,並且題目保證傳入的資料是遞減有序的。函式insert
要將x
插入data
中合適的位置,以保持結果依然有序(注意:元素從下標0開始儲存)。但如果x
已經在data
中了,就不要插入,返回失敗的標記false
;如果插入成功,則返回true
。另外,因為data
中最多只能存maxsize
個元素,所以如果插入新元素之前已經滿了,也不要插入,而是返回失敗的標記false
。
#include #include #define maxsize 10
typedef enum bool;
typedef int elementtype;
typedef int position;
typedef struct lnode *list;
struct lnode ;
list readinput(); /* 裁判實現,細節不表。元素從下標0開始儲存 */
void printlist( list l ); /* 裁判實現,細節不表 */
bool insert( list l, elementtype x );
int main()
/* 你的**將被嵌在這裡 */
5
35 12 8 7 3
10
35 12 10 8 7 3
last = 5
6
35 12 10 8 7 3
8
insertion failed.
35 12 10 8 7 3
last = 5
習題1 9 有序陣列的插入 20 分
習題1.9 有序陣列的插入 20 分 本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。函式介面定義 bool insert list l,elementtype x 其中list結構定義如下 typedef int position typedef struct ln...
習題1 9 有序陣列的插入 20 分
本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。bool insert list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用...
習題1 9 有序陣列的插入 20分
本題要求將任一給定元素插入從大到小排好序的陣列中合適的位置,以保持結果依然有序。找到插入位置 把這個位置之後的元素後移,並插入元素 表長 1 其次,針對有序遞減鍊錶 待插入元素比當前元素大,就插在該位置上。如果他是最小的,一直比較到最後乙個,那他應該插在最後的位置。不要忘記表長 1,break。bo...