假设线性表采用顺序存储结构 其类型定义如下: define ListSize 100 typedef struct{ int data

学历类 顺序,定义,类型 已帮助 人

假设线性表采用顺序存储结构,其类型定义如下:

define ListSize 100

typedef struct{

int data[ListSize];

int length;

}SeqList,*Table;

编写算法,将顺序表L中所有值为奇数的元素调整到表的前端。

请帮忙给出正确答案和分析,谢谢!

热搜:关于线性表的顺序存储结构和链式存储结构

答案解析

难度★★☆ 搜索
  • 参考答案一: void f34(Table L) { int ijt; 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 ij=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++; } }
    参考答案一: 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++; } }