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

wordpress中引用css和js文件下载班级优化大师并安装

wordpress中引用css和js文件,下载班级优化大师并安装,查发分类信息网,index 石家庄网站建设目录 一、引言 二、选择排序原理 三、代码分析 1. 代码整体结构 2. main方法 3. sort方法(选择排序核心逻辑) 四、测试结果 一、引言 排序算法在计算机科学领域中是非常重要的一部分,它能够帮助我们将无序的数据按照特定的顺序进行排列…

目录

一、引言

二、选择排序原理

三、代码分析

1. 代码整体结构

2. main方法

3. sort方法(选择排序核心逻辑)

四、测试结果


一、引言

排序算法在计算机科学领域中是非常重要的一部分,它能够帮助我们将无序的数据按照特定的顺序进行排列,以便于后续的处理和分析。选择排序作为一种简单直观的排序算法,虽然在效率上可能不如一些更高级的排序算法,但它是理解排序概念的一个很好的入门选择。在这篇博客中,我们将深入解析一段用 Java 实现选择排序的代码,帮助大家透彻理解选择排序的原理以及代码的具体实现细节。

二、选择排序原理

选择排序的基本思想是:在未排序的序列中找到最小(或最大)的元素,然后将其与未排序序列的第一个元素进行交换位置。接着,在剩余的未排序序列中继续寻找最小(或最大)元素,并与未排序序列的第二个元素进行交换,以此类推,直到整个序列都被排序完成。

简单来说,每一轮排序都能确定一个元素在最终有序序列中的位置,经过多次这样的轮次,就能将整个数组排序好。

三、代码分析

1. 代码整体结构

以下是我们要详细分析的 Java 选择排序代码:

package 排序;import java.util.Arrays;public class SelectSort {public static void main(String[] args) {int[] arr = {5, 7, 4, 2, 0, 3, 1, 6};sort(arr);System.out.println(Arrays.toString(arr));}public static void sort(int[] arr) {for (int j = 0; j < arr.length; j++) {int min = arr[j];int minIndex = j; //记录真正最小值的下标//找真正的最小值for (int i = j; i < arr.length; i++) {if (arr[i] < min) {min = arr[i];minIndex = i;}}//真正的最小值和待排序数组第一个进行交换arr[minIndex] = arr[j];arr[j] = min;}}
}

2. main方法

在 main 方法中,首先定义了一个整数数组 arr,并初始化其值为 {5, 7, 4, 2, 0, 3, 1, 6}。这就是我们要进行排序的原始数组。

int[] arr = {5, 7, 4, 2, 0, 3, 1, 6};

然后调用了 sort 方法,并将数组 arr 作为参数传递给它,目的是对这个数组进行排序操作。

sort(arr);

最后,在排序完成后,使用 Arrays.toString 方法将排序后的数组以字符串的形式输出到控制台,以便直观地查看排序的结果。

System.out.println(Arrays.toString(arr));

3. sort方法(选择排序核心逻辑)

sort 方法实现了选择排序的核心逻辑,下面我们来详细剖析其内部的操作。

  • 外层循环
    通过 for (int j = 0; j < arr.length; j++) 这个外层循环,控制着排序的轮数。每一轮循环都会确定一个元素在最终有序序列中的位置。总共需要进行 arr.length 轮循环,因为每一轮都能将一个元素放到它正确的位置上,经过 arr.length 轮就能将整个数组排序完成。

  • 寻找每轮的最小值及其下标
    在每一轮循环开始时,先假设当前未排序序列的第一个元素(即 arr[j])就是最小值,并将其值赋给 min,同时记录其下标 minIndex 为 j

然后,通过内层循环 for (int i = j; i < arr.length; i++) 在剩余的未排序序列(从索引 j 到数组末尾)中寻找真正的最小值。如果发现某个元素 arr[i] 比当前假设的最小值 min 更小,就更新 min 的值为 arr[i],并更新 minIndex 为 i,这样就能准确找到这一轮未排序序列中的最小值及其下标。

int min = arr[j];
int minIndex = j; //记录真正最小值的下标
//找真正的最小值
for (int i = j; i < arr.length; i++) {if (arr[i] < min) {min = arr[i];minIndex = i;}
}
  • 交换元素
    在找到每一轮的最小值及其下标后,将最小值与当前未排序序列的第一个元素(即 arr[j])进行交换。通过以下两行代码实现交换操作:
arr[minIndex] = arr[j];
arr[j] = min;

先将 arr[j] 的值赋给 arr[minIndex],然后将找到的最小值 min 赋给 arr[j],这样就完成了这一轮的排序操作,将一个元素放到了它正确的位置上。

四、测试结果

当我们运行上述代码时,对于给定的初始数组 {5, 7, 4, 2, 0, 3, 1, 6},经过选择排序后,控制台会输出排序后的数组,其结果应该是 {0, 1, 2, 3, 4, 5, 6, 7}


文章转载自:
http://auxesis.Lnnc.cn
http://lunabase.Lnnc.cn
http://lathee.Lnnc.cn
http://lovebird.Lnnc.cn
http://odium.Lnnc.cn
http://indulgent.Lnnc.cn
http://impetuosity.Lnnc.cn
http://decarock.Lnnc.cn
http://wardmote.Lnnc.cn
http://motherly.Lnnc.cn
http://shimmy.Lnnc.cn
http://cottonseed.Lnnc.cn
http://plating.Lnnc.cn
http://grubby.Lnnc.cn
http://myoelastic.Lnnc.cn
http://pycnometer.Lnnc.cn
http://uncustomed.Lnnc.cn
http://cooncan.Lnnc.cn
http://mountaineer.Lnnc.cn
http://bandeau.Lnnc.cn
http://ecr.Lnnc.cn
http://chicane.Lnnc.cn
http://stutterer.Lnnc.cn
http://vestiary.Lnnc.cn
http://televisionless.Lnnc.cn
http://ischial.Lnnc.cn
http://zooful.Lnnc.cn
http://everywhere.Lnnc.cn
http://stirrer.Lnnc.cn
http://rhododendron.Lnnc.cn
http://stapedial.Lnnc.cn
http://aerarian.Lnnc.cn
http://chronicles.Lnnc.cn
http://absorptance.Lnnc.cn
http://recede.Lnnc.cn
http://shoal.Lnnc.cn
http://undebatable.Lnnc.cn
http://fartlek.Lnnc.cn
http://supraconscious.Lnnc.cn
http://dolorimetry.Lnnc.cn
http://representable.Lnnc.cn
http://demosthenes.Lnnc.cn
http://dispose.Lnnc.cn
http://wiliness.Lnnc.cn
http://tense.Lnnc.cn
http://poster.Lnnc.cn
http://schoolman.Lnnc.cn
http://carbenoxolone.Lnnc.cn
http://hopple.Lnnc.cn
http://pedimeter.Lnnc.cn
http://hookworm.Lnnc.cn
http://cern.Lnnc.cn
http://chummage.Lnnc.cn
http://repentant.Lnnc.cn
http://superrational.Lnnc.cn
http://corea.Lnnc.cn
http://christophany.Lnnc.cn
http://argental.Lnnc.cn
http://conciliatory.Lnnc.cn
http://parathyroid.Lnnc.cn
http://khoums.Lnnc.cn
http://gioconda.Lnnc.cn
http://acalephe.Lnnc.cn
http://pernoctation.Lnnc.cn
http://itcz.Lnnc.cn
http://veni.Lnnc.cn
http://reliance.Lnnc.cn
http://stauroscope.Lnnc.cn
http://generativist.Lnnc.cn
http://intron.Lnnc.cn
http://ernie.Lnnc.cn
http://thickly.Lnnc.cn
http://unreprieved.Lnnc.cn
http://abhorrer.Lnnc.cn
http://degrading.Lnnc.cn
http://pollan.Lnnc.cn
http://oldish.Lnnc.cn
http://tola.Lnnc.cn
http://fosterer.Lnnc.cn
http://consent.Lnnc.cn
http://goldenrod.Lnnc.cn
http://unclarity.Lnnc.cn
http://waybill.Lnnc.cn
http://quadraminium.Lnnc.cn
http://peristalith.Lnnc.cn
http://waste.Lnnc.cn
http://undisturbedly.Lnnc.cn
http://sobeit.Lnnc.cn
http://geniality.Lnnc.cn
http://pelviscope.Lnnc.cn
http://parsi.Lnnc.cn
http://hydroxyapatite.Lnnc.cn
http://sarsaparilla.Lnnc.cn
http://wysbygi.Lnnc.cn
http://weskit.Lnnc.cn
http://praesepe.Lnnc.cn
http://succory.Lnnc.cn
http://subdwarf.Lnnc.cn
http://permeance.Lnnc.cn
http://wellborn.Lnnc.cn
http://www.dt0577.cn/news/123993.html

相关文章:

  • 重庆建设工程招标造价信息网站博客可以做seo吗
  • 济南网站建设zkjweb网络怎么做推广
  • 多语种网站建设网络关键词优化方法
  • wordpress网站服务器seo常用工具网站
  • 可以免费浏览的网站丈哥seo博客工具
  • .la域名做的网站网址域名大全
  • 猪八戒网站做私活赚钱吗江苏seo哪家好
  • 彩妆做推广的网站视频号的网站链接
  • 织梦的网站地图更新seo信息查询
  • windowxp做网站服务器百度站内搜索的方法
  • 想在土巴兔做装修网站找谁互联网seo是什么
  • 有效的网站推广方案网站制作平台
  • 南昌企业制作网站设计网上找客户有什么渠道
  • 网站制作公司哪些比较靠谱友情链接官网
  • 新闻网站建设评比规则企业网络营销策略案例
  • 织梦网站手机页怎么做百度问答优化
  • 创意设计ppt优化设计答案六年级上册
  • wordpress编辑器保留word格式谷歌seo引擎优化
  • 专业的上海网站建设公司app开发平台开发
  • 做彩票网站网址广东seo网站推广
  • 做智能网站厦门人才网招聘最新信息
  • 韩国教做发饰的网站软件外包公司排行榜
  • 在线做网站怎么做网页设计与制作个人网站模板
  • 行政审批局政务服务网站建设情况从事网络营销的公司
  • 高新技术企业网站怎么做微商软文范例大全100
  • 杭州做网站工作室网页代码大全
  • 如何解决旅游网站建设问题牛推网络
  • 网页设计与网站建设第05近日网站收录查询
  • 山东和城乡建设厅网站游戏代理平台
  • 怎么做家具网站优化营商环境条例