题目:以顺序表做储存结构,写一实现线性表就地逆置的算法
C++实现如下:
#include <iostream>
using namespace std;
class SeqList
{
public:
SeqList(int a[], int n);//初始化顺序表
void Inversion(int n);//就地逆置
void PrintList(int n);//输出顺序表
private:
int length;//储存顺序表长度
int data[10];
};
SeqList::SeqList(int b[], int n)//初始化顺序表
{
for (int i = 0; i < n; i++)
{
data[i] = b[i];
}
}
void SeqList::Inversion(int n)//逆置操作
{
int temp;
for (int i = 0, j = n - 1; i < j; i++, j--)
{
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
void SeqList::PrintList(int n)//输出顺序表
{
for (int i = 0; i < n; i++)
cout << data[i] << '\t';
cout << endl;
}
int main()
{
int b[10];
cout << "请输入各个元素:" << endl;
for (int i = 0; i < 10; i++)
cin >> b[i];
SeqList L(b, 10);
cout << "置换前:";
L.PrintList(10);
cout << "置换后:";
L.Inversion(10);
L.PrintList(10);
return 0;
}