C语言选择排序算法

本文展示了如何使用C语言实现选择排序算法。通过初始化一个整数数组,然后使用两层循环来找到当前未排序部分的最大(或最小)值,并将其放到正确的位置。经过多轮比较和交换,最终实现数组的排序。示例代码详细地解释了选择排序的工作原理。
摘要由CSDN通过智能技术生成

c语言选择排序算法


#include<stdio.h>
int main(void){

	int i,j,k,t;

	int a[10]={22,1,5,8,33,45,16,4,10,10};      //初始化数组

	printf("原来的序列:\n");

	for(i=0;i<10;i++)

		printf("%3d",a[i]);
		
		printf("\n");
	printf("排序后的序列:\n");

	for(i=0;i<9;i++){
		k=i;              // k为标志,第几趟就默认第几个数是最大或者最小值的位置
		for(j=i+1;j<10;j++)
		if(a[k]>a[j])
			k=j;           //如果前一个大于后一个,则更新k标志
		if(k!=i){        //如果k的值发生变化,则将原本i的位置的值和此刻k所在的位置的值交换
		
			t=a[i];
			a[i]=a[k];
			a[k]=t;
		}               
	}


	for(i=0;i<10;i++)

		printf("%3d",a[i]);   //循环输出数组
		
		printf("\n");        //输出完之后换行

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值