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