选择排序——selectSort

排序——选择排序

选择排序和冒泡排序有一点点像,他是会直接找到这个数字后面的数组中最小的一个数字进行交换,依次类推 :首先第一轮循环的时候默认的排序好的为空,然后选择出最小的一个出来进行交换。第二轮就从第二个位置开始,找出最小的一个数字出来进行交换,以此类推……

/***********************************************************
*版权所有:(C) 2021.7.24 烽火大队-狼烟一号(第八方面军) 
* 
*文件名称: 选择排序 
*内容摘要:	选择排序和冒泡排序有一点点像,他是会直接找到这个数字后面最小的一个数字进行交换,依次类推 
*当前版本: 1-1 
*文件作者:帅子牛 
*完成日期:2021.7.24
*备注	 : 上川咯 
*修改记录:暂无 
***********************************************************/
#include <stdio.h>
#include <stdlib.h>
#include<string.h> 
#define N 10
void swap(int a[],int i,int index){
    
    
	int temp = a[i];
	a[i] = a[index];
	a[index] = temp;
}
void display(int a[]){
    
    
	int i;
	for(i=0;i<N;i++){
    
    
	 	printf("%d ",a[i]); 
	}
	printf("\n");
}
void selectSort(int a[]){
    
    
	int i,j;
	for(i=0;i<N;i++){
    
    
		int index=i;
		for(j=i+1;j<N;j++){
    
    //从当前位置的下一位找起
			if(a[index]>a[j]){
    
    //最终找出最小的一个数组元素的下标
				index = j;
			 }
		}
		swap(a,i,index);//然后交换
	}
}
int main() {
    
    
	int a[] = {
    
    6,1,2,7,9,3,4,5,10,8};//测试用例
	selectSort(a);
	display(a);
	return 0;
}


Guess you like

Origin blog.csdn.net/m0_46672781/article/details/119065151