一、问题及代码
/*
* 文件名称: homework.cpp
* 作 者: 万绍良
* 完成日期: 2016 年 5 月 19 日
* 版 本 号:v2.0
* 对任务及求解方法的描述部分: 合并数组使其有序;
* 输入描述: 无;
* 问题描述: 无;
* 程序输出: 将两个有序数组合并在一个有序数组中输出;
* 问题分析: 运用冒泡法有序排列数组;
* 算法设计: 运用循环语句for;
*/
#include<iostream>
using namespace std;
int main()
{
const int M=5;
int a[M]={1,3,8,9,10},b[M]={2,3,4,5,6},c[2*M],i=0,j=0;
for(i=0,j=0;i<10;i++)
{
if(i<=M-1)
c[i]=a[i];
else
c[i]=b[j++];
}
for(j=0;j<2*M-1;j++)
for(i=0;i<2*M-j-1;i++)
if(c[i]>c[i+1])
{
c[i]=c[i+1]-c[i];
c[i+1]=c[i+1]-c[i];
c[i]=c[i+1]+c[i];
}
cout<<"有序数组A为:";
for(i=0;i<M;i++)
cout<<a[i]<<" ";
cout<<endl;
cout<<"有序数组B为:";
for(i=0;i<M;i++)
cout<<b[i]<<" ";
cout<<endl;
cout<<"合并后的有序数组C为:";
for(i=0;i<2*M;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
return 0;
}
三、心得体会
简单的一维数组和循环结构的结合已经基本掌握,新学习的二维数组和指针还需多加练习,加油加油加油!
四、知识点总结
冒泡法是一种对数组排序的很好的方法。