1. 程式人生 > >C程式設計--排序(冒泡、選擇、插入)--選擇

C程式設計--排序(冒泡、選擇、插入)--選擇

演算法排序

個人說明:排序的演算法有許多種,該部落格只是列舉了部分常用的排序方式,以供參考。程式使用語言為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