数组排序算法

简介: 数组排序算法
package zero.file.videoProject.util.test;
 
public class paixu {
    /*
    冒泡排序:
        一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,
        依次对所有的数据进行操作,直至所有数据按要求完成排序
 */
    public static void main(String[] args) {
            //定义一个数组
            int[] arr = {24, 69, 80, 57, 13};
            System.out.println("排序前:" + arrayToString(arr));
 
            // 这里减1,是控制每轮比较的次数
            for (int x = 0; x < arr.length - 1; x++) {
                // -1是为了避免索引越界,-x是为了调高比较效率
                for (int i = 0; i < arr.length - 1 - x; i++) {
                    if (arr[i] > arr[i + 1]) {
                        int temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                    }
                }
            }
            System.out.println("排序后:" + arrayToString(arr));
 
        }
 
        //把数组中的元素按照指定的规则组成一个字符串:[元素1, 元素2, ...]
        public static String arrayToString(int[] arr) {
            StringBuilder sb = new StringBuilder();
            sb.append("[");
            for (int i = 0; i < arr.length; i++) {
                if (i == arr.length - 1) {
                    sb.append(arr[i]);
                } else {
                    sb.append(arr[i]).append(", ");
                }
            }
            sb.append("]");
            String s = sb.toString();
            return s;
        }
}

效果:


相关文章
|
5天前
|
存储 JavaScript 搜索推荐
js【详解】arr.sort()数组排序(内含十大经典排序算法的js实现)
js【详解】arr.sort()数组排序(内含十大经典排序算法的js实现)
9 0
|
7月前
|
存储 搜索推荐 算法
C/C++ 常见数组排序算法
本文介绍了几种常见的排序算法的实现,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序。冒泡排序通过多次遍历数组,比较并交换相邻元素,逐步将较小元素“浮”到数组顶端,时间复杂度为`O(n^2)`。选择排序通过选择未排序部分的最小元素进行交换,逐步完成整个数组排序,同样具有`O(n^2)`的时间复杂度。插入排序将数组分为已排序和未排序部分,逐个插入未排序元素到已排序部分的合适位置,时间复杂度为`O(n^2)`。希尔排序是插入排序的改进版本,通过分组插入排序,最终得到有序数组,时间复杂度在`O(n log n)`到`O(n^2)`之间。归并排序采用分治策略,递归拆分和合并数组,时间复杂
59 0
|
算法 搜索推荐 Shell
Shell编程之数组排序算法(冒泡排序、直接选择排序、反转排序)
1、数组排序(使用tr、sort、for) 操作步骤; 使用tr命令将数组内每个元素之间的空格替换为换行符; 之后使用sort命令按从小到大重新排序; 最后使用for循环遍历排序后的元素值。
414 0
|
算法
数组排序之冒泡排序(啊哈!算法实践)
桶排序的实现需要占用大量的数组空间,而且不能对小数排序,冒泡排序通过比较相邻元素可以很好地解决这一问题
65 0
|
Web App开发 算法 JavaScript
JS中数组随机排序实现(原地算法sort/shuffle算法)
JS中数组随机排序实现(原地算法sort/shuffle算法)
266 1
JS中数组随机排序实现(原地算法sort/shuffle算法)
|
算法 Java
找落单筷子的长度(数组,排序,java算法)
找落单筷子的长度(数组,排序,java算法)
73 0
|
搜索推荐 C语言
c语言-数组排序算法-冒泡法排序
冒泡法顺序指的是在排序时,从前往后扫描待排序记录,每次比较数组中相邻的两个数组元素的值,将较小的数(按从小到大排列)排在较大的数前面。
c语言-数组排序算法-冒泡法排序
|
算法 JavaScript 前端开发
JavaScript 进阶第三章(数组排序-冒泡算法)
JavaScript 进阶第三章(数组排序-冒泡算法)
76 0
|
算法 搜索推荐
漫画算法:无序数组排序后的最大相邻差值
漫画算法:无序数组排序后的最大相邻差值
107 0
漫画算法:无序数组排序后的最大相邻差值
|
2天前
|
机器学习/深度学习 算法 调度
Matlab|基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码
基于改进鲸鱼优化算法的微网系统能量管理源码实现,结合LSTM预测可再生能源和负荷,优化微网运行成本与固定成本。方法应用于冷热电联供微网,结果显示经济成本平均降低4.03%,提高经济效益。代码包括数据分段、LSTM网络定义及训练,最终展示了一系列运行结果图表。