选择排序java从小到大代码_java中选择排序与归并排序的内容,详细解析

 2023-09-17 阅读 22 评论 0

摘要:上次我们已经为大家介绍过java中插入、分治和快速排序的内容,今天再来为大家介绍一下java中选择排序与归并排序的具体内容,并且通过实际的代码为大家解析。首先我们需要了解的是,选择排序也是一种简单直观的排序算法,实现原理比较直观易懂。1.在未

上次我们已经为大家介绍过java中插入、分治和快速排序的内容,今天再来为大家介绍一下java中选择排序与归并排序的具体内容,并且通过实际的代码为大家解析。

首先我们需要了解的是,选择排序也是一种简单直观的排序算法,实现原理比较直观易懂。

1.在未排序数列中找到最小元素;2.然后将其与数列的首部元素进行交换;3.在剩余未排序元素中继续找出最小元素;4.将其与已排序数列的末尾位置元素交换;5.以此类推,直至所有元素圴排序完毕,图片如下所示:

afdb0ab9516cad38b9b2bbffda067b83.png

java从小到大排序代码?代码如下所示:public static void sort(int[] arr)

{

for (int i = 0; i 

{

java数字排序、int min = i; // 遍历的区间最小的值

for (int j = i + 1; j 

{

if (arr[j] 

java给定数组从小到大排序,{

// 找到当前遍历区间最小的值的索引

min = j;

}

java输入十个数从小到大排序,}

if (min != i)

{

// 发生了调换

java二维数组排序,int temp = arr[min];

arr[min] = arr[i];

arr[i] = temp;

}

java选择排序经典代码,}

}

接下来我们看一下归并排序。

归并排序,简而言之就是把一串数,从中平等分为两份,再把两份再细分,直到不能细分为止,其实就是分而治之的分的步骤。再从最小的单元,两两合并,合并的规则是将它们按从小到大的顺序放到一个临时数组中,再把这个临时数组替换原数组对应的位置,这就是治。具体图解如下所示:

e1c906a77203ea6ab7b4a2f17ca2044f.png

262f21a374540e4bf5fe05409e235c95.png

46f7a572b4cd33f93e5b1fc776480726.png

java让一个数组从小到大输出?代码展示如下所示:public static void mergeSort(int[] a, int s, int e)

{

int m = (s + e) / 2;

if (s 

java选择排序。{

mergeSort(a, s, m);

mergeSort(a, m + 1, e);

//归并

java 数组排序,merge(a, s, m, e);

}

}

private static void merge(int[] a, int s, int m, int e)

快速排序java?{

//初始化一个从起始s到终止e的一个数组

int[] temp = new int[(e - s) + 1];

//左起始指针

int l = s;

//右起始指针

int r = m + 1;

int i = 0;

//将s-e这段数据在逻辑上一分为二,l-m为一个左边的数组,r-e为一个右边的数组,两边都是有序的

//从两边的第一个指针开始遍历,将其中小的那个值放在temp数组中

while (l <= m && r <= e)

{

if (a[l] 

{

temp[i++] = a[l++];

}

else

{

temp[i++] = a[r++];

}

}

//将两个数组剩余的数放到temp中

while (l <= m)

{

temp[i++] = a[l++];

}

while (r <= e)

{

temp[i++] = a[r++];

}

//将temp数组覆盖原数组

for (int n = 0; n 

{

a[s + n] = temp[n];

}

}

以上就是有关在java中选择排序与归并排序的具体内容,并且通过实际的代码为大家展示。如果你对java知识感兴趣,想要了解更多java基础,敬请关注奇Q工具网。

推荐阅读:

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/72131.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息