假设线性表采用顺序存储结构,其类型定义如下: #define ListSize 100 typedef struct{ int data[ListSize]; int length; }SeqList,*Table; 编写算法,将顺序表L中所有值为奇数的元素调整到表的前端。
参考答案:
解析:参考答案:一: void f34(Table L) { int i,j,t; i=0; j=L—>length-1; while(i<j) { while(i<j&&L—>data[i]%2) i++; while(i<j&&L—>data[j]%2==0) j--; if(i<j) { t=L—>data[i]; L—>data[i]=L—>data[j]; L—>data[j]=t; i++; j--; } } } 参考答案:二: void f34(SeqList*L) { int i,j=0.t; for(i=0;i<L—>length;i++) if(L—>data[i]%2)/*奇数*/ { if(i!=j) { t=L—>data[i]; L—>data[i]=L—>data[j]; L—>data[j]=t; } j++; } }