题目:
设有一个线性表 (e0, e1, ..., en-2, en-1) 存放在一个一维数组 A[arraySize] 中的前 n 个数组元素位置. 请编写一个函数将这个线性表原地逆置, 即将数组的前 n 个原址内容置换为 (en-1, en-2, ..., e1, e0).
- Array.h
- #pragma once
- #include<iostream>
- using namespace std;
- class Array {
- public:
- int* data;
- int num;
- Array(int num) {
- data = new int[num];
- this->num = num;
- }
- void defaultCreat() {
- for (int i = 0; i < num; i++) {
- data[i] = i;
- }
- }
- void show() {
- for (int i = 0; i < num; i++) {
- cout << data[i] << " ";
- }
- cout << endl;
- }
- void turn() {
- int temp, mid;
- mid = num / 2;
- for (int i = 0; i <= mid; i++) {
- temp = data[mid - i];
- data[mid - i] = data[mid + i];
- data[mid + i] = temp;
- }
- }
- };
- main.cpp
- #include"Array.h"
- int main() {
- Array arr(9);
- arr.defaultCreat();
- arr.show();
- arr.turn();
- arr.show();
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3462205.html