简单选择排序(学习大话数据结构)(时间复杂度n*n)

void SelectSort(SqList *L)
{
	int i ,j ,min;
	for(i=1;i< L->length;i++){
		min=i;
		for(j=i+1;jlength;j++){
			if(l->r[min] > L->r[j])
				min=j
		}

		if(i!=min)
			swap(L,i,min);
	
	}

}

具体的意思就是:第一次循环:从第一个数开始,首先最小的数min为第一个数,然后第二个开始和第一个相比,如果第二个小于第一个,那么最小的数min为第二个,然后依次往后,找到最小的一个数,找到的话,就让和min等于这个数的下标,然后和第一个数交换。

第二次循环,从第二开始,首先最小的数min为第二个书,然后第三个开始和第二个进行比较,如果第三个数小于第二个数,那么最小的数min为第三个,然后依次往后,找到最小的一个数,找到以后,让min等于这个最小数的下标,然后和第二个数交换。

你可能感兴趣的:(算法)