排序算法(二)—— 選擇法排序算法

1、選擇法排序簡介

        選擇法排序算法是一種常用的排序算法,他的實現方法是遍歷數組所有元素,找出最小的元素,將它與第一個元素交換;然後遍歷剩下的元素,找出最小的元素並與第二個元素交換;接下來再遍歷剩下的元素,找出最小的元素並與第三個元素交換;如此反覆,知道數組末尾。

        比如一個5個元素的數組5、3、1、2、4,使用選擇法進行排序,排序步驟如下所示。

2、選擇法代碼示例

        下面我們採用c語言編寫一段代碼來實現上面的5個數的排序,代碼如下所示。

#include <stdio.h>

void main()
{
	int i,j;
	int data[5]={5,3,1,2,4};
	int temp;
	int min;
	
	printf("Data: ");
	for(i=0;i<5;i++)
		printf("%d ",data[i]);
	printf("\n");

	for(i=0;i<5;i++)
	{
		min = i;		
		for(j=i+1;j<5;j++)
		{			
			if(data[j]<data[min])
			{
				min=j;
			}
		}
		temp = data[i];
		data[i] = data[min];
		data[min] = temp;
	}

	printf("Final data: ");
	for(i=0;i<5;i++)
		printf("%d ",data[i]);
	printf("\n");

}

編譯代碼並運行,結果如下所示。

Data: 5 3 1 2 4 
Final data: 1 2 3 4 5 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章