首页 > 编程语言 > 详细

课后习题 2-7 数组非零元素前移

时间:2020-03-16 10:24:30      阅读:78      评论:0      收藏:0      [点我收藏+]

题目:

假定数组A[arraySize]中有多个零元素, 试写出一个函数, 将A 中所有的非零元素依次移到数组A的前端A[i]。

Array.h

#pragma once
#include<iostream>
using namespace  std;

class Array {
    int* data;
    int num;
public:
    Array(int n) {
        num = n;
        data = new int[num];
    }
    void creat(int* arr) {
        for (int i = 0; i < num; i++) {
            data[i] = arr[i];
        }
    }
    void show() {
        for (int i = 0; i < num; i++) {
            cout << data[i] << " ";
        }
        cout << endl;
    }
    void move() {
        int p = 0;
        int temp;
        for (int i = 0; i < num; i++) {
            if (data[i] != 0) {
                temp = data[i];
                data[i] = data[p];
                data[p] = temp;
                p++;
            }
        }
    }
};

main.cpp

#include"Array.h"

int main() {
    Array L(11);
    int arr[] = { 0,8,3,0,4,0,5,4,0,9,0 };
    L.creat(arr);
    L.show();
    L.move();
    L.show();
    return 0;
}

 

课后习题 2-7 数组非零元素前移

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

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