编函数,完成冒泡排序。

/*         
* 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]<<" ";
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值