選擇排序


也許比冒泡排序更加天然? 哈哈 上代碼吧


---C語言實現


#include <stdio.h>
#include <stdlib.h>

//遍歷數組
void LoopForArr(int arr[],int length)
{
	int count;
	if(arr == NULL || length <=0)return ;
	for(count = 0;count<length;count++)
	{
		printf("%d  ",arr[count]);
	}
	printf("\n");
}

//選擇排序
void SelectionSort(int arr[],int length)
{
	int count;
	int count_in;
	int Min;
	if(arr == NULL || length <=0)return ;
	for(count = 0;count<length;count++)
	{
		Min = count;
		for(count_in = count+1;count_in<length;count_in++)
		{
			Min = arr[Min]>arr[count_in]?count_in:Min;
		}
		if(Min !=count)
			arr[Min] ^=arr[count]^=arr[Min] ^=arr[count];
	}
}

int main()
{
	int arr[] = {22,34,1,6,9,123,55,12,23};
	SelectionSort(arr,sizeof(arr)/sizeof(arr[0]));
	LoopForArr(arr,sizeof(arr)/sizeof(arr[0]));
	system("pause");
	return 0;
}

發佈了49 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章