常见排序算法总结(java版)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见排序算法总结(java版)相关的知识,希望对你有一定的参考价值。
一、冒泡排序
1、原理:相邻元素两两比较,大的往后放。第一次完毕,最大值在最大索引处。
2、代码:
public static void bubbleSort(int[] arr) { for(int x=0; x<arr.length-1; x++) { //外层循环控制轮数 ,一共要比较(arr.length-1)轮 for(int y=0; y<arr.length-1-x; y++) { //外层循环控制每一轮比较的次数,每一轮比较(arr.length-1-i)次 if(arr[y] > arr[y+1]) { //如果前面的元素比后面的元素大,则交换位置 int temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } }
二、选择排序
1、原理 :将0位置的元素依次和后面全部的元素比,比完后,0位置就是最小的元素,紧接着从1位置对后面的元素比,逐步得到从小到大的值。
2、代码:
public class SelectionSort { public static void main(String[] args) { int[] arr = {2, 5, 8, 3, 6}; selectionSort(arr); } public static void selectionSort(int[] arr){ for(int i=0;i<arr.length;i++){ //外层循环控制用哪个位置的数与后面的数比较 for (int j=i+1;j<arr.length;j++){ // 内层循环控制这个数与后面的数需要比较多少次 if(arr[i]>arr[j]) { // //这个条件保证从小到大排列,反之从大到小排列 int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for(int m=0;m<arr.length;m++){ System.out.println(arr[m]); } } }
以上是关于常见排序算法总结(java版)的主要内容,如果未能解决你的问题,请参考以下文章