您的位置:首页 > 文旅 > 旅游 > 硬件工程师需要学哪些_html简单的网页设计_强化防疫指导_网络营销管理办法

硬件工程师需要学哪些_html简单的网页设计_强化防疫指导_网络营销管理办法

2024/12/23 9:36:00 来源:https://blog.csdn.net/Loyalty_lu/article/details/143644838  浏览:    关键词:硬件工程师需要学哪些_html简单的网页设计_强化防疫指导_网络营销管理办法
硬件工程师需要学哪些_html简单的网页设计_强化防疫指导_网络营销管理办法

选择排序的特点

每次进行一趟排序后,就确定一个数据的最终位置

选择排序的原理

就是假设你是最小(最大数据)的下标,然后和其他进行比较,若发现还有比你还小(或还大)的数据,就更新下标,直到挨个遍历后,确定最终的下标进行交换数据,就是把你和最终所确定的下标进行数据交换

核心代码实战

//选择排序void select_sort(int nums[],int len){for(int i = 0;i<len;i++){int min = i;//假设最小值的下标就是当前位置的值for(int j=i+1;j<len;j++){if(nums[j]<nums[min]){min=j;}}//交换值,这一趟下来确定该元素的最终位置swap(nums[min],nums[i]);}}

 

 完整代码可运行

#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>void swap(int &a,int &b)
{int tmp=a;a=b;b=tmp;
}void rangnums(int nums[],int len)
{srand(time(NULL));//初始化数组printf("初始化数组:");for(int i=0;i<len;i++){nums[i]=rand()%100+1;printf("%d ",nums[i]);}puts("");
}void print(int a[],int len)
{for(int i=0;i<len;i++){printf("%d ",a[i]);}puts("");
}//选择排序void select_sort(int nums[],int len){for(int i = 0;i<len;i++){int min = i;//假设最小值的下标就是当前位置的值for(int j=i+1;j<len;j++){if(nums[j]<nums[min]){min=j;}}//交换值,这一趟下来确定该元素的最终位置swap(nums[min],nums[i]);printf("第%d趟结果为:",i+1);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);}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com