【資料結構】順序表的應用(3)
阿新 • • 發佈:2018-12-11
問題:
已知一個順序表中的各節點值是從大到小有序的,設計一個演算法,插入一個值為x的節點,使順序表中的節點仍然是從小到大有序的。
#include "stdio.h" #include "sequlist.h" int main () { sequence_list slt; int length,aa,i; while(1) { init(&slt); printf("請輸入想要建立的順序表的長度:"); scanf("%d",&length); printf("請依次輸入順序表中的值\n"); for(i=0;i<length;i++) { scanf("%d",&aa); append(&slt,aa); } display(&slt); printf("\n排序以後的順序表:"); sort_slt(&slt,length); display(&slt); printf("\n請輸入想要插入的那個數:"); scanf("%d",&aa); //精華部分(開始) i=0; while(slt.a[i]<aa) i++; for(int j=slt.size_;j>i;j--) { slt.a[j]=slt.a[j-1]; } slt.a[i]=aa; slt.size_++; //精華部分(結束) display(&slt); printf("\n"); } return 0; }