首页 > 编程语言 > 详细

课后习题 2-6 数组倒置

时间:2020-03-15 12:01:47      阅读:67      评论:0      收藏:0      [点我收藏+]

题目:

设有一个线性表 (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;
}

 

课后习题 2-6 数组倒置

原文:https://www.cnblogs.com/SlowIsFast/p/12496477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!