/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 刘同宾
* 完成日期:2012 年 12 月 02 日
* 版 本 号:v1.0
*
* 输入描述:编函数,完成冒泡排序。
* 问题描述:
* 重点体会:(1)排序算法;(2)数组名作形式参数,将能改变作为实际参数的数组的值,
* 实际参数传递给形式参数的是数组的地址值,也是传值;(3)形式参数中不指定数组大小,
* 实际数组的大小也一并作为参数传递。
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
int main()
{
void paixu(int a[]); //函数声明
void shuchu(int a[]);
int a[10]={2,4,6,9,1,3,5,12,54,32}; //定义两个数组
int b[10]={100,23,43,65,86,97,35,13,87,54};
cout<<"排序前数组为:"<<endl; //输出排序前的数组
shuchu(a);
cout<<endl;
shuchu(b);
cout<<endl;
cout<<"排序后数组为:"<<endl; //输出排序后的数组
paixu(a);
shuchu(a);
cout<<endl;
paixu(b);
shuchu(b);
cout<<endl;
return 0;
}
//冒泡排序
void paixu(int a[])
{
int i,j;
int t;
for(i=1;i<=9;i++) //有10个数 一共比较9轮
{
for(j=0;j<=9-i;j++) //在每轮中要进行(10-i)次两两比较,但是j从0开始,所以从0到9-i与从1到10-i 次数一样
{
if(a[j]<a[j+1]) //如果前面的数小于后面的数,
{
t=a[j+1]; //交换两个数的位置
a[j+1]=a[j];
a[j]=t;
}
}
}
}
//输出排序后的数组
void shuchu(int a[])
{
int i;
for(i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
}
编函数,完成冒泡排序。
最新推荐文章于 2022-08-02 15:45:27 发布