标签:顺序 int seqList 元素 样例 length 逆置
【问题描述】
设计一个高效算法,将顺序表L中的所有元素逆置,要求算法的空间复杂度为O(1)。
【输入形式】
两行,第一行是输入数据数量,第二行是线性表数据,元素之间用空格间隔。
【输出形式】
输入线性表的逆序,元素之间用空格间隔
【样例输入】
5
1 2 3 4 5
【样例输出】
5 4 3 2 1
【样例说明】
输入数据是整数列,数据间以空格分开。
【评分标准】
必须使用顺序表存储元素,算法空间复杂度O(1),顺序表存储实现逆序。
#include<iostream>
using namespace std;
const int MAXSIZE = 100;
struct seqList {
int data[MAXSIZE]; //存放数组
int length; //顺序表长度
};
//创建顺序表,n为顺序表长度
void create(seqList& L,int n) {
L.length = 0;
for (int i = 0; i < n; i++) {
cin >> L.data[i];
L.length++;
}
}
//逆置顺序表
void Reverse(seqList& L) {
int temp; //交换中介
for (int i = 0; i <L.length / 2; i++) {
temp = L.data[i];
L.data[i] = L.data[L.length - i - 1];
L.data[L.length - i - 1] = temp;
}
}
//遍历顺序表
void print(seqList L,int n) {
for (int i = 0; i < n; i++) {
cout << L.data[i] << " ";
}
}
int main() {
seqList L; int n;
cin >> n;
create(L,n);
Reverse(L);
print(L, n);
}
标签:顺序,int,seqList,元素,样例,length,逆置 来源: https://blog.csdn.net/weixin_47446365/article/details/120584986
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。