//两两比较把大的交换到右面,每一轮都取出数组的一个最大值放在数组的最右面。
//所以每一轮之后都会少比较一个数组,以此类推。
#include <iostream>//输入输出流
using namespace std; //命名空间std内定义的所有标识符都有效
void shuchu(int arr[], int n)
{
for (int j = 0; j<n; j++)
{
cout << arr[j]<<" ";
}
cout<<endl; //换行。
}
void bijiao(int arr[], int n)
{
for (int i = 0; i < n; i++) //一共比较N-1 轮,比较第 i 轮,每一轮减少一个最高位,这样第 i 轮要比较 n-1-i 对。
{
for (int j = 0; j < n - 1 - i; j++)
{
if (arr[j] > arr[j + 1]) //如果左面大于右面的,则交换。
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//int main ()
//{
//int shuru[10];
//cout <<"请输入数组:"<<endl;
//for (int i=0; i<10; i++)
//{
//cin>>shuru[i];
//}
//bijiao (shuru,10);
//cout <<"输出数组:" <<endl;
//shuchu (shuru,10);
//}
int main () //int main() 主函数声明为 int , 返回值就为 int,return 0 表示正确返回。
//void main() 即空类型 ,所以函数返回是无返回值类型。
{
int shuru[10] = {2,6,7,8,9,4,3,1,34,54};
cout << "输入数组:" <<endl; // endl 用来换行
shuchu(shuru , 10); // shuzu 是数组首元素的地址(等同于 &shuzu[0]),&shuzu 整个数组的首地址。
//指向数组的指针 *(shuzu+i) = shuzu(i)。
bijiao(shuru , 10);
cout <<"输出数组:"<<endl;
shuchu(shuru, 10);
}