选择法与冒泡法排序

简介:输入N个数,进行降序排序。

1,选择法排序

将第一个数依次与后面的每一个数相比,将得到的最值与第一个数交换,依次循环。

流程图:

 

函数:

#include<stdio.h>
void selectSort(int arry[], int n) {
//i,j为循环变量
//k临时存储i的值
//temp用于交换的临时变量
	int i, j, k, temp;
	for (i = 0; i < n - 1; i++) {
		k = i;
		for (j = i + 1; j < n; j++)
			if (arry[j] > arry[k])
				k = j;
		temp = arry[k];
		arry[k] = arry[i];
		arry[i] = temp;
	}
//输出数组元素
	for (i = 0; i < n; i++)
		printf("%d\t", arry[i]);


}

函数调用:

#include<stdio.h>

int main() {
	void selectSort(int arry[], int n);
	int a[6] = { -1,9,80,-10,4,21 };
	selectSort(a, 6);

	return 0;




	}

结果:

2,冒泡法排序:

从第一个数开始,依次与后面的数据进行比较,满足条件就交换。

流程图:

函数:

#include<stdio.h>
void maoPaoSort(int arry[], int n) {
	int t;//交换变量
	int i,j;//循环控制
	for(i=0;i<=n-1;i++)
		for (j = i + 1; j < n; j++) {
			if(arry[i]<arry[j])
			{
				t = arry[i]; 
				arry[i] = arry[j]; 
				arry[j] = t;
			}
		}
	for (i = 0; i < n; i++)
		printf("%d\t", arry[i]);
}

函数调用:

#include<stdio.h>

int main() {
	/*void selectSort(int arry[], int n);*/
	void maoPaoSort(int arry[], int n);
	int a[6] = { -1,9,80,-10,4,21 };
	/*selectSort(a, 6);*/
	maoPaoSort(a, 6);

	return 0;




	}

结果:


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值