算法:选择排序,冒泡排序,插入排序
2022/4/21 20:42:44
本文主要是介绍算法:选择排序,冒泡排序,插入排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
算法:选择排序,冒泡排序,插入排序
package com.Algorithm; public class Demo03 { public static void Demo1(int arr[]){ for(int i=0;i<arr.length;i++){ System.out.print(arr[i] +" "); } } //选择排序 public static void Demo2(int arr[]){ if(arr.length<2||arr==null){ return; } int N = arr.length; for(int i = 0;i<N;i++){ //定义的最小值为i即每次选择的元素都与其余元素依次比较 int MinNub =i; //遍历除i之外的其他数字 for(int j=i+1;j<N;j++){ //定义一个变量为最小的;通过三目运算符进行一次比较 MinNub = arr[MinNub] < arr[j] ? MinNub : j; Demo3(arr,MinNub,j); } } } //插入排序 public static void Demo4(int arr[]){ if(arr.length<2||arr==null){ return; } //0~1; //0~2; int N = arr.length; for(int end = 1;end<N;end++){ //判断出当前位置的数小于左边的数;则交换位置 while (arr[end]<arr[end-1]){ //交换值的大小 Demo3(arr,end,end-1); //交换位置后进行下标索引向左移减一 end--; } } } //插入排序优化 public static void Demo5(int arr[]){ if(arr.length<2||arr==null){ return; } //0~1; //0~2; int N = arr.length; for(int end = 1;end<N;end++){ //判断出当前位置的数小于左边的数;则交换位置 //pro是当前左边的位置;end(pro+1)是当前位置 //for(int pro = end -1;pro>=0&arr[pro]>arr[pro+1];pro--){ for(int pro = end -1;pro>=0&arr[pro]>arr[end];pro--){ Demo3(arr,end,end-1); } } } //冒泡排序 public static void Demo3( int arr[]){ if(arr.length<2||arr==null){ return; } int N = arr.length; //冒泡排序,把大值放到后面小值放前面 //0~N-1进行排序(N-1除去本身) for(int end = N-1;end>=0;end--){ for(int second = 1;second<=end;second++){ //比较这个数和前一个数 if(arr[second-1]>arr[second]){ Demo3(arr,second-1,second); } } } } //此处只是单纯的值交换,不用考虑大小 public static void Demo3(int arr[],int i,int j){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static void main(String[] args) { int arr []= {1,3,4,56,7,12,33,40}; Demo3(arr); Demo1(arr); } }
这篇关于算法:选择排序,冒泡排序,插入排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26手写消息中间件:从零开始的指南
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解