王道习题p18顺序表的逆置

#define _CRT_SECURE_NO_WARNINGS
#include
using namespace std;
const int N=100;
//设计一个高效算法,将顺序表所有元素逆置
typedef struct
{
    int  data[N];
    int length;
}sqlist;
bool reverse(sqlist& L, int l, int r)
{
    if (L.length == 0) return false;
    for (int i = l; i < (l + r + 1) / 2; i++)
    {
        int temp;
        temp = L.data[i];
        L.data[i] = L.data[r-i];
        L.data[r - i] = temp;
    }
    return true;
}
int main()
{
    sqlist L;
    int n;//输入n个数据
    cin >> n;
    for (int i = 0; i < n; i++) cin >> L.data[i];
    int l = 0;
    int r = n - 1;
    cout << "逆序前的序列" << endl;
    for (int i = 0; i < n; i++) cout << L.data[i] << ' ';
    reverse(L, l, r);
    cout << "逆序后的序列" << endl;
    for (int i = 0; i < n; i++) cout << L.data[i]<<' ';
    return 0;
}

你可能感兴趣的:(王道习题,数据结构)