课后习题 2-6 数组倒置

Posted slowisfast

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课后习题 2-6 数组倒置相关的知识,希望对你有一定的参考价值。

题目:

设有一个线性表 (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 数组倒置的主要内容,如果未能解决你的问题,请参考以下文章

课后习题 2-9 前后两部分数组位置互换

软件测试课后习题

OpenCV学习笔记之课后习题练习3-5

Java语言程序设计(第3版)沈泽刚主编第5章课后习题答案

求Lay 的《线性代数及其应用》第三版中文版课后习题答案

课后习题答案 严蔚敏 等 编著