一、问题及代码
/*
* 文件名称:C++实验-6
* 作 者:高晨
* 完成日期:2016年 5 月 25 日
* 版 本 号:
* 对任务及求解方法的描述部分: 义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后,完成删除元素,插入元素的操作
* 输入描述:要删去的数,和要插入的数保持固定顺序
* 问题描述:数组处理
* 程序输出: 经处理后的数组
* 问题分析:熟练各类处理方法
* 算法设计:冒泡法
*/
#include<iostream>
using namespace std;
void main()
{
const int N=10;
int a[N]={0,1,4,3,2,5,6,7,8,9};
int i,j,t;
for(j=0;j<N-1;j++)
for(i=0;i<N-j-1;i++)
if(a[i+1]<a[i])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
int x,m;
cout<<"数组0,1,4,3,2,5,6,7,8,9 已按从小到大排列"<<endl<<"请输入要删去数x:";
cin>>x;
for(i=0;i<N;i++)
if(a[i]==x)
m=i;
for(i=m;i<N-1;i++)
a[i]=a[i+1];
cout<<"得到数组:";
for(i=0;i<N-1;i++)
cout<<a[i]<<" ";
cout<<endl;
int y,k;
cout<<"请输入要插入的数y:";
cin>>y;
for(i=0;i<N-1;i++)
if(a[i]>y) break;
for(k=N-1;k>i;k--)
a[k]=a[k-1];
a[i]=y;
cout<<"y插入数组后,数组重新从小到大排列,得到数组:";
for(i=0;i<N;i++)
cout<<a[i]<<" ";
cout<<endl;
}
二、运行结果
三、心得体会
冒泡法的使用和嵌套用法
四、知识点总结
冒泡法的用法,以及字符的删除和增加。