欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java经典排序(冒泡,选择)

程序员文章站 2022-06-25 09:10:50
数组排序冒牌排序原理:1.从尾部开始比较相邻的两个元素,如果尾部的元素比前面的大,就交换两个元素的位置。2.往前对每个相邻的元素都做这样的比较、交换操作,这样到数组头部时,第 1 个元素会成为最大的元素。3.重新从尾部开始第 1、2 步的操作,除了在这之前头部已经排好的元素。4.继续对越来越少的数据进行比较、交换操作,直到没有可比较的数据为止,排序完成。int[] arr= {4,22,12,3}; for (int i = 0; i < arr.length; i++) {...

数组排序

冒牌排序

原理:
1.从尾部开始比较相邻的两个元素,如果尾部的元素比前面的大,就交换两个元素的位置。
2.往前对每个相邻的元素都做这样的比较、交换操作,这样到数组头部时,第 1 个元素会成为最大的元素。
3.重新从尾部开始第 1、2 步的操作,除了在这之前头部已经排好的元素。
4.继续对越来越少的数据进行比较、交换操作,直到没有可比较的数据为止,排序完成。

int[] arr= {4,22,12,3};
  for (int i = 0; i < arr.length; i++) {
   for (int j = 0; j < arr.length-1-i; j++) {
    if(arr[j]<arr[j+1]) {//这里大于,小于  控制的是排列的升序还是降序
     int a=arr[j];//这里a 相当于一个容器作为交换的桥梁
     arr[j]=arr[j+1];
     arr[j+1]=a;
    }
   }
  }
  //遍历排序后的数组
  for (int i = 0; i < arr.length; i++) {
   System.out.println(arr[i]);
  }

总结:这个算法让我想起了小时候在操场排队跑步,老师总是说:“高的站前面,低的站后面”。我们一开始并不一定会站到准确的位置上,接着老师又说:“你比前面的高,和前面的换换,还高,再和前面换换”,就这样找到了自己的位置。

选择排序

原理:
是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

int[] arr= {22,12,44,1};
  for (int i = 0; i < arr.length; i++) {
   int min=arr[i];//假设最小
   int index=i;//记录最小的下表
   for (int j = i; j < arr.length; j++) {
    if (arr[j]<min) {//找到最小的数
     min=arr[j];
     index=j;
    }
   }
   //交换位置,以此类推最小(大)的,会继续排序
   arr[index]=arr[i];
   arr[i]=min;
  }
  //排序后的遍历
  for (int i : arr) {
   System.out.println(i);
  }

总结:就像学校升旗站队从低到高,每一次排序把最低(高)的喊出来依次排序

本文地址:https://blog.csdn.net/qq761789003/article/details/107359300

相关标签: java