当前位置: 首页 > news >正文

上海平台网站建设费用免费设计logo图标生成器

上海平台网站建设费用,免费设计logo图标生成器,广告sem是什么意思,烟台网站建设托管简单选择排序的介绍#xff1a;从给定的序列中#xff0c;按照指定的规则选出某一个元素#xff0c;再根据规定交换位置后达到有序的目的。简单选择排序的基本思想#xff1a;假定我们的数组为int [] arr new int[n]#xff0c;第一次我们从arr[0]~arr[n-1]中选择出最小的…简单选择排序的介绍从给定的序列中按照指定的规则选出某一个元素再根据规定交换位置后达到有序的目的。简单选择排序的基本思想假定我们的数组为int [] arr new int[n]第一次我们从arr[0]~arr[n-1]中选择出最小的值与arr[0]交换。第二次我们从arr[1]~arr[n-1]中选择出最小的值与arr[1]交换。第三次我们从arr[2]~arr[n-1]中选择出最小的值与arr[2]交换,...,第i次我们从arr[i-1]~arr[n-1]中选择出最小的值与arr[i-1]交换,...,第n-1次我们从arr[n-2]~arr[n-1]中选择出最小的值与arr[n-2]交换。我们总共进行n-1次的交换从而得到一个由小到大的排序序列。简单选择排序的思路详解例子原始的数组[101,34,119,1]经过第一次选择排序之后我们得到的数组1,[34,119,101]经过第二次选择排序之后我们得到的数组1,34,[119,101]经过第三次选择排序之后我们得到的数组1,34,101,[119]这个时候我们的序列已经有序了并且我们执行的次数一共是是4次(n-1)。针对上述的例子我们进行说明如下(1).选择排序一共有数组大小-1(n-1)轮排序(2).每一轮排序又是一个循环我们先假定每次循环的第一个数都是最小的数然后和后面的每个数进行比较如果发现有比当前更小的数就重新确定这个最小的数并且要得到这个数的下标。依次进行循环上述过程在代码中我会通过注释说明。下面的代码中我会将选择排序通过两种代码实现分步骤的实现整体的实现。在代码中我们测试的数组是[101,34,119,1](1).分步骤的实现选择排序public static void main(String[] args) {// TODO Auto-generated method stubint[] arr {101,34,119,1};selectSort(arr);}//选择排序public static void selectSort(int[] arr){//第一趟排序System.out.println(执行的第一趟排序);//首先我们要假设第一个元素是最小的并且记录最小元素的下标这里我们分别用min,minIndex表示。int min arr[0];int minIndex 0;for(int j 10;jif(minarr[j]){ //当我们的min值大于后面的数时说明min不是最小的这时候我们将min与最小的值交换并且让minIndex索引变成最小值的索引。min arr[j];minIndex j;}}//通过上面的交换我们可以得到这趟序列中最小的元素的值。//因为我们的第一个元素是我们指定的最小元素因此在找到比第一个元素更小的元素后我们应该让其与第一个元素交换。arr[minIndex] arr[0];arr[0] min;System.out.println(Arrays.toString(arr));//接下来的几趟排序与第一趟相同//第二趟排序System.out.println(执行的第二趟排序);min arr[1];minIndex 1;for(int j 11;jif(min arr[j]){min arr[j];minIndex j;}}arr[minIndex] arr[1];arr[1] min;System.out.println(Arrays.toString(arr));//第三趟排序System.out.println(执行的第三趟排序);min arr[2];minIndex 2;for(int j 12;jif(min arr[j]){min arr[j];minIndex j;}}arr[minIndex] arr[2];arr[2] min;System.out.println(Arrays.toString(arr));}上述代码我们得到的最终结果是(2).整体的代码实现public static void main(String[] args) {// TODO Auto-generated method stubint[] arr {101,34,119,1};selectSort(arr);}//选择排序public static void selectSort(int[] arr){//选择排序的算法//通过上面的分步我们可以知道可以通过循环嵌套来实现for(int i0;iint min arr[i];int minIndex i;for(int ji1;jif(minarr[j]){min arr[j];minIndex j;}}arr[minIndex] arr[i];arr[i] min;System.out.println(第(i1)趟排序的结果:);System.out.println(Arrays.toString(arr));}}上述代码我们得到最终的结果是但是还有一点值得注意的是观察我们第二趟的结果我们发现与第一趟的结果是相同的也就是说我们在进行选择排序的过程中可能出现第一个数就是最小的数这样的话我们可以不需要执行交换的代码因此选择排序的算法我们可以做进一步的优化优化代码如下(注释里面有解释)public static void main(String[] args) {// TODO Auto-generated method stubint[] arr {101,34,119,1};selectSort(arr);}//选择排序public static void selectSort(int[] arr){//选择排序的算法//通过上面的分步我们可以知道可以通过循环嵌套来实现for(int i0;iint min arr[i];int minIndex i;for(int ji1;jif(minarr[j]){min arr[j];minIndex j;}}if(minIndex ! i){ //我们通过比较minIndex与i的值来确定是否 最小值发生了改变如果没有改变我们不需要执行下面的代码。arr[minIndex] arr[i];arr[i] min;System.out.println(第(i1)趟排序的结果:);System.out.println(Arrays.toString(arr));}}}最终得到的结果如下
http://www.yutouwan.com/news/138154/

相关文章:

  • 张家港网站网络优化成都网站建设 哪家比较好
  • 注册公司需要几个人员seo神器
  • 商场网站建设模板佛山制作网站设计报价
  • 宁波专业品牌网站制作外包在哪制作一个简单的网页
  • 长沙做一个网站要多少钱网站建设过程小结
  • 果洛wap网站建设公司给企业做网站
  • 连云港做网站优化php玩具公司网站源码
  • 大丰哪家专业做网站建筑英才招聘官网
  • 四川省住房和城乡建设厅新网站永久免费的ppt网站
  • 甘肃省住房建设厅网站网络信息安全工程师
  • wordpress视频网站主题免费个人服务器
  • 运行网站需要多少钱餐饮系统的网站应该怎么做
  • 茶叶网站建设策划方案u001f展会信息网
  • jsp书城网站开发网页访问自动跳转中
  • 网站优秀设计站长如何做视频类网站
  • 湖北移动官网网站建设东莞公司网站制作公司
  • 网站关键词排名公司公关是陪吃陪喝的吗
  • 重庆网站建设哪个公司好安徽六安金寨县
  • 外贸鞋的网站建设wordpress要不要套餐
  • 网站建设所需技术wordpress 分类伪静态
  • 手机网站 案例WordPress文章底部广告插件
  • 个人免费网站开发sem优化师底薪一般多少
  • 找个人给我做电影网站seo每天一贴
  • 东莞营销网站建火龙果写作网站
  • 门户网站制作流程博客现在asp做网站
  • 网上做兼职的网站有哪些工作网站备案许可证号查询网站
  • 素材网站可以做淘宝吗网站建设需要考虑的问题
  • 学敏网站建设国际网站建设与维护
  • 怎样在华为云服务器里建设网站沃尔玛超市
  • 网站实名认证功能怎么做做毕业设计的网站设计