菜缤的世界 CairBin's Blog - 逆置问题
type: channel
link: https://blog.cairbin.top/index.php/tag/逆置问题/
items: 顺序表应用——逆置问题

顺序表应用——逆置问题
type: item
date: 2021-09-25T03:11:00+00:00
description: 顺序表应用——逆置问题问题描述给定一个顺序表，将其中的元素逆置例子给定一个顺序表，其中有0至10共11个元素从小至大排列，请将这11个元素逆置使其从大到小排列以下是解题代码代码#include <iostream> #define MAXSIZE 100 typedef struct{ int data[MAXSIZE]; int length; }Sqlist; //输出元素 void printList(Sqlist L) { for(int n = 0; n <= 10; n++) { std::cout << L.data[n] << std::endl; } } //置换 void swapList(Sqlist &L) { for(int j = 0, k = 10; j < k; j++, k--) { int temp = L.data[j]; //临时变量用于临时存放j位置数据 L.data[j] = L.data[k];//将k位置的保存到j位置 L.data[k] = temp; //将k位置的替换为原j位置的值 } } int main() { Sqlist L; //线性表初始化 L.length = 0; //插入元素 for(int i = 0; i <= 10;i++) { L.data[i] = i; L.length++; } //输出置换前的顺序表内容用于对比 std::cout << "置换前的数据："<< std::endl; printList(L); //置换 swapList(L); //输出置换后的内容 std::cout << "置换后的数据：" << std::endl; printList(L); system("pause"); return 0; } 输出结果置换前的数据： 0 1 2 3 4 5 6 7 8 9 10 置换后的数据： 10 9 8 7 6 5 4 3 2 1 0