【資料結構】順序表的應用(1)
阿新 • • 發佈:2018-12-11
問題:
1.將順序表(a1,a2,…,an)重新排列以a1為界的兩部分:a1前面的值均比a1小,a1後面的值均比a1大(這裡假設資料元素的型別具有可比性,不妨設為整型)。
#include "stdio.h" #include "sequlist.h" int main () { int i,length,input_number,compare; sequence_list slt,new_slt; while (1) { init(&slt); init(&new_slt); printf("請輸入想要建立的順序表的長度:"); scanf("%d",&length); printf("請輸入%d個數字:\n",length); for (i=1;i<=length;i++) { scanf("%d",&input_number); append(&slt,input_number); } if(!isempty(&slt)) { compare=slt.a[0]; printf("a1=%d\n",compare); for (i=1;i<slt.size_;i++) { if(slt.a[i]<compare) { append(&new_slt,slt.a[i]); } } append(&new_slt,compare); for (i=1;i<slt.size_;i++) { if(slt.a[i]>compare) { append(&new_slt,slt.a[i]); } } } else ; printf("原來順序表:");display(&slt);printf("\n"); printf("新排列順序表:");display(&new_slt);printf("\n"); } return 0; }