C程序设计--排序(冒泡、选择、插入)--选择

版权声明:本文由 Micheal 博客 创作,转载请附带链接,有问题欢迎交流。 https://blog.csdn.net/qq_42887760/article/details/83931846

算法排序

个人说明:排序的算法有许多种,该博客只是列举了部分常用的排序方式,以供参考。程序使用语言为C语言。

2.选择排序法

  • 基本思想
    1.在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
    2.然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
  • 图解
    在这里插入图片描述
  • 代码实现
#include<stdio.h>

int main(){
	int a[]={1,54,6,3,78,34,12,45};
	int min,n=sizeof(a)/sizeof(int);
	//选择排序法
	for (int i = 0; i < n-1; i++) {
		min=i;
		for (int j = i+1; j < n; j++) {
			if(a[j]<a[min]) {
				min=j;
			}
		}
		if(min!=i){
			int temp=a[min];
			a[min]=a[i];
			a[i]=temp;
		}
	}
	for(i=0;i<n;i++){
		printf("%d ",*(a+i));
	}
	printf("\n",*(a+i));
	return 0;
}

  • 参考博客

https://blog.csdn.net/without0815/article/details/7697916

猜你喜欢

转载自blog.csdn.net/qq_42887760/article/details/83931846
今日推荐