#define _CRT_SECURE_NO_WARNINGS
/*设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)*/
//算法思想:第i个元素与第(length-i-1)个元素互换
#include <stdio.h>
//#include <stdlib.h>
#define MaxSize 50
struct SqList {
int data[MaxSize] = { 1,4,6,3,2,8,7 };
int length = 7;
};
void Reverse(SqList& L)
{
for (int i = 0; i < L.length / 2; i++)
{
int v = L.data[i];
L.data[i] = L.data[L.length - i - 1];
L.data[L.length - i - 1] = v;
}
}
int main()
{
SqList L;
printf("原先线性表为:");
for (int i = 0; i < L.length; i++)
{
printf("%d ", L.data[i]);
}
printf("\n");
Reverse(L);
printf("逆置后的线性表为:");
for (int i = 0; i < L.length; i++)
{
printf("%d ", L.data[i]);
}
return 0;
}
25王道代码题2_2_02
最新推荐文章于 2024-07-16 22:26:22 发布