深圳网站建设 案例,wordpress建站多用户,企业网站设计有哪些新功能,提升学历的重要性与意义选择排序的特点
每次进行一趟排序后#xff0c;就确定一个数据的最终位置
选择排序的原理
就是假设你是最小#xff08;最大数据#xff09;的下标#xff0c;然后和其他进行比较#xff0c;若发现还有比你还小#xff08;或还大#xff09;的数据#xff0c;就更新…选择排序的特点
每次进行一趟排序后就确定一个数据的最终位置
选择排序的原理
就是假设你是最小最大数据的下标然后和其他进行比较若发现还有比你还小或还大的数据就更新下标直到挨个遍历后确定最终的下标进行交换数据就是把你和最终所确定的下标进行数据交换
核心代码实战
//选择排序void select_sort(int nums[],int len){for(int i 0;ilen;i){int min i;//假设最小值的下标就是当前位置的值for(int ji1;jlen;j){if(nums[j]nums[min]){minj;}}//交换值这一趟下来确定该元素的最终位置swap(nums[min],nums[i]);}} 完整代码可运行
#includestdio.h
#includestring.h
#includetime.h
#includestdlib.hvoid swap(int a,int b)
{int tmpa;ab;btmp;
}void rangnums(int nums[],int len)
{srand(time(NULL));//初始化数组printf(初始化数组:);for(int i0;ilen;i){nums[i]rand()%1001;printf(%d ,nums[i]);}puts();
}void print(int a[],int len)
{for(int i0;ilen;i){printf(%d ,a[i]);}puts();
}//选择排序void select_sort(int nums[],int len){for(int i 0;ilen;i){int min i;//假设最小值的下标就是当前位置的值for(int ji1;jlen;j){if(nums[j]nums[min]){minj;}}//交换值这一趟下来确定该元素的最终位置swap(nums[min],nums[i]);printf(第%d趟结果为:,i1);print(nums,len);}}int main()
{int a[10]{92 ,79 ,49, 59, 86 ,38, 94, 64, 92, 3};rangnums(a,10);select_sort(a,10);print(a,10);}