關鍵是要知道序列表的長度(即元素總數)和控制切換操作的結束條件(考慮奇數元素和偶數元素)
當使用幾個元件時停止開關操作的條件)。寫程序時,線性表可以用壹維數組代替。
# include & ltstdio.h & gt
#定義長度11
int main(void)
{
int a[LENGTH];
/*用於指示當前交換位置的變量*/
int i,j;
/*輔助交換的變量*/
int tmp
Printf("逆序前:");
/*假設壹個線性表被初始化*/
for(I = 0;我& lt長度;i++){
a[I]= I;
printf("[%d]",a[I]);
}
printf(" \ n ");
I = 0;
j =長度-1;
/* switch的終止條件是J比I大1(有偶數個元素時)。
*或者j比I大2(有奇數元素時)*/
while(1){
tmp = a[I];
a[I]= a[j];
a[j]= tmp;
if(j-I = = 1 | | j-I = = 2 | | j-I & lt;=0){
打破;
}
i++;
j-;
}
Printf("逆序後:");
for(I = 0;我& lt長度;i++){
printf("[%d]",a[I]);
}
printf(" \ n ");
返回0;
}