C++的数组排序问题。

来源:互联网 发布:wave三人动作数据下载 编辑:程序博客网 时间:2024/06/14 17:00

今天学生要复习一下数组排序的问题。何为何为数组,就是用数组的思想,解决排序问题。

比如:

6,5,7,4,2如何用数组排序:

#include <iostream.h>
void main()
{
int c;
 int a[5]={6,5,7,4,2};//定义变量数组a,将数值6,5,7,4,2复制到数组中。
 for(int i=1;i<5;i++)//for总循环,开始为1,结束为4。
{
  for(int j=0;j<5-i;j++)//循环中嵌套循环,0开始,5-i结束。
{
  if(a[j]>a[j+1])//条件语句,如果前一个变量中的数值比后一个变量中的数值大
{
  c=a[j];//创建空变量c,将前一个变量中的数值赋值给变量c。
  a[j]=a[j+1];//将后一个变量中的数值赋给前一个变量。

a[j+1]=c;//将变量c中的数值赋值给后一个变量中。
}
}
}
 for(int k=0;k<5;k++)
{
cout<<a[k]<<endl;
}
}


输出的结果为2,4,5,6,7.

此则为数组中每两个数值进行比较。然后将两个数中选出的最小值,放在最初位置。但再排选下两个数值时还要再将最小的值放在最初位置。这样又耗时又耗力,增加了电脑的运算量,不利于更多数值的排选。

后期学生将要学习排序中的擂台法。