您的位置:首页 > 编程语言 > C语言/C++

C++实验6-数组合并

2016-05-25 20:26 501 查看
一、问题及代码

/*
* 文件名称:关于数组合并的项目
* 作    者:李伟
* 完成日期:  2016    年   5 月  25  日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述: 用循环和数组来编程,冒泡法来给数组排序
* 程序输出: 合并后的数组
* 问题分析:
* 算法设计:
*/
#include<iostream>
using namespace std;
int main()
{
int a[5]={1,3,8,9,10},b[5]={2,3,4,5,6},c[10],i,t,j;
cout<<"a数组为:";
for(i=0;i<5;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"b数组为:";
for(i=0;i<5;i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
for(i=0;i<5;i++)
{
c[i]=a[i];
}
for(i=0;i<5;i++)
{
c[i+5]=b[i];
}
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(c[j]>c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
cout<<"合并后的数组为:";
for(i=0;i<10;i++)
cout<<c[i]<<" ";
cout<<endl;
return 0;
}


二、运行结果






三、心得体会

本次实验的数组合并比较简单,数组排序要用“冒泡法”,要理解“冒泡法”的原理。

四、知识点总结

冒泡法原理:是将相邻两个数进行比较,把小数调到前面,大数逐渐“下沉”,如此进行一轮后 ,就会把最大的数互换到最后,再进行一轮,则会把第二大的数排在倒数第二的位置上,进行N-1轮后,整个数列即可排好。在这种排序过程中,小数如同气泡一样逐层上浮,而大数逐个下沉。

for(i=0;i<9;i++) //10个数要交换9趟

for(j=0;j<9-i;j++) //每趟相邻两个数交换次数为9-i

if(a[j]>a[j+1]) //相邻两数按指定的升序排列

{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: