我是靠谱客的博主 拉长凉面,最近开发中收集的这篇文章主要介绍C++综合练习——MyArray类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述

设计一个MyArray类,用来模拟一个由小到大的有序的整数序列,实现输入一个整数,将其插入序列,并保持该序列由小到大有序。MyArray类原型如下:

class MyArray

{private:

int a[50];  //存储一个由小到大有序的整数序列

int n;    //记录序列中数据的个数

public:

void MyArray(int x) { n=x; }  //初始化,通过x的值确定序列的大小

void input();  //从键盘输入n个由小到大有序的整数

void insert(int k); //将k值按由小到大的顺序插入到序列中(注意,插入一个数据后,n值要增一)

void output();  //输出序列中的数据

};

输入

第一行有一个正整数n,表示原始的整数序列长度为n,保证n不超过50。

第二行有n个整数,表示原始的整数序列,保证这个序列是从小到大给出的。

第三行有一个整数,表示需要插入的整数。

输出

在一行中输出n+1个整数,表示完成插入的整数序列。每个整数后输出一个空格。请注意行尾输出换行。

样例输入

10
1 2 3 4 5 6 7 9 10 11
8

样例输出

1 2 3 4 5 6 7 8 9 10 11
#include<iostream>
using namespace std;
class MyArra
{private:
int a[50];
int n;
public:
void MyArray(int x) { n=x; }
void input();
void insert(int k);
void output();
};
void MyArra::output(){
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
}
void MyArra::input(){
for(int i=0;i<n;i++)
{
cin>>a[i];
}
}
void MyArra::insert(int k){
for(int i=0;i<n;i++)
{
if(k<=a[i])
{
n++;
for(int j=n;j>i;j--)
{
a[j]=a[j-1];
}
a[i]=k;
break;
}
}
}
int main()
{
int n;
cin>>n;
MyArra a;
a.MyArray(n);
a.input();
int p;
cin>>p;
a.insert(p);
a.output();
cout<<endl;
return 0;
}

最后

以上就是拉长凉面为你收集整理的C++综合练习——MyArray类的全部内容,希望文章能够帮你解决C++综合练习——MyArray类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部