h队抽签选c。

选择排序是一种简单且易于实现的数据排序算法。

以塑料数组元素为例,有一个数组A[10](以C语言描述为例),即A[0],A[1],…,A[8],A[9](假设它们的元素互不相同)。需要对其元素进行排序,使其按顺序递增。

首先,基于一个元素从一个方向扫描,例如,基于A[0]从左到右。

接下来,从A[1],…,A[9]中找出最小的元素,与A[0]交换。

然后将参考位置向右移动一位,重复上述动作。比如以A[1]为基础,找出A[1]~A[9]中的最小值,与A[1]交换。

直到基准位置移动到数组的最后一个元素,排序结束(此时基准左边所有元素依次递增,基准是最后一个元素,排序完成)。

下面是一个用C描述的实现上述排序的函数:

void sort(int array[],int n)

{// n是数组元素的个数。

int i,j,k,temp// i是参考位置,j是当前扫描元素的位置,k用来临时存储较小元素的位置。

for(I = 0;我& ltn-1;i++)

{ k = I;//初始化到参考位置

for(j = I+1;j & ltn;j++)

{

if(array[j]& lt;array[k])k = j;// k总是指示出现的较小元素的位置。

} //for

如果(k!=i)

{ temp = array[I];

数组[I]=数组[k];

array[k]= temp;//将这次扫描获得的最小元素与基准交换。

}

}

}