/**
* 用顺序表实现 王道P18 T2
*
* ①算法思想:
* 将第一个元素和最后一个元素交换位置,然后将第二个元素和到第二个元素交换位置,
* 以此类推,到中间停止
*
* ②数据结构:
* typedef struct{
* int data[MaxSize];
* int length;
* }SqList;
*
* ③算法设计
*/
#include <stdio.h>
#define MaxSize 100
typedef struct{
int data[MaxSize];
int length;
}SqList;
void Reverse(SqList &L){
int t;
for (int i = 0; i < L.length / 2; ++i) {
t = L.data[i];
L.data[i] = L.data[L.length - 1 - i];//注意不是减i
L.data[L.length - 1 - i] = t;
}
}
//以下用于测试
void InitList(SqList &L){
for (int i = 0; i < MaxSize; ++i) {
L.data[i] = 0;
}
for(int i = 0;i < 5;i++){
L.data[i] = i;
}
L.length = 5;
}
void PrintList(SqList L){
for (int i = 0; i < MaxSize; ++i) {
printf("%d ",L.data[i]);
}
printf("\n");
}
int main(){
SqList L;
InitList(L);
PrintList(L);
Reverse(L);
PrintList(L);
}
王道书P18 T2(静态顺序表实现)
于 2022-07-01 14:32:18 首次发布