网站首页图,分享网站模板,海南学校网站建设,wordpress主题中文网不爱生姜不吃醋 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始#xff0c;不如现在行动#xff01; 文章目录 #x1f334;前言#x1f334;一、选择排序1.原理2.时间复杂度3.代码实现 #x1f334;二、冒泡排序1. 原理2. 时间复杂度3.代码实现 #x1f334;三… 不爱生姜不吃醋 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始不如现在行动 文章目录 前言一、选择排序1.原理2.时间复杂度3.代码实现 二、冒泡排序1. 原理2. 时间复杂度3.代码实现 三.插入排序1.原理2. 时间复杂度3.代码实现 总结 前言
本文内容是关于选择排序、冒泡排序、插入排序的代码编写使用的是Java。 一、选择排序
1.原理
第一次从待排序的数据元素中选出最小或最大的一个元素存放在序列的起始位置然后再从剩余的未排序元素中寻找到最小大元素然后放到已排序的序列的末尾。以此类推直到全部待排序的数据元素的个数为零。 注选择排序是不稳定的排序方法 2.时间复杂度 O(n²) 3.代码实现
import java.util.Arrays;
public class Example1 {public static void main(String[] args) {int[] arr {5, 7, 2, 6, 4, 1, 3, 9, 8};SelectSort(arr);System.out.println(Arrays.toString(arr));}public static void SelectSort(int[] arr) {for (int i 0; i arr.length; i) {for (int j i 1; j arr.length; j) {if (arr[j] arr[i]) {swap(arr, i, j);}}}}public static void swap(int[] arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}
}二、冒泡排序
1. 原理
比较相邻的元素如果第一个比第二个大就交换他们两个。对每一对相邻元素做同样的工作从开始第一对到结尾的最后一对。在这一点最后的元素应该会是最大的数。针对所有的元素重复以上的步骤除了最后一个。持续每次对越来越少的元素重复上面的步骤直到没有任何一对数字需要比较
2. 时间复杂度 O(n²) 3.代码实现
import java.util.Arrays;
public class Example2 {public static void main(String[] args) {int[] arr {5, 7, 2, 6, 4, 1, 3, 9, 8};BubbleSort(arr);System.out.println(Arrays.toString(arr));}public static void BubbleSort(int[] arr) {for (int i 0; i arr.length - 1; i) {for (int j 0; j arr.length - i - 1; j) {if (arr[j1] arr[j]) {swap(arr, j1, j);}}}}public static void swap(int[] arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}
}三.插入排序
1.原理
待排序的元素中假设前面n-1(其中n2)个数已经是排好顺序的现将第n个数插到前面已经排好的序列中然后找到合适自己的位置使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入直到整个序列排为有序的过程称为插入排序
2. 时间复杂度 O(n²) 3.代码实现
import java.util.Arrays;public class Example3 {public static void main(String[] args) {int[] arr {5, 7, 2, 6, 4, 1, 3, 9, 8};InsertionSort(arr);System.out.println(Arrays.toString(arr));}public static void InsertionSort(int[] arr) {if (arr null || arr.length 2) {return;}for (int i 1; i arr.length; i) {for (int j i - 1; j 0 arr[j] arr[j 1]; j--) {swap(arr, j, j 1);}}}public static void swap(int[] arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}
}总结
文章中代码的编写使用的都是Java基础知识多加练习熟能生巧。 本文中若是有出现的错误请在评论区或者私信指出我再进行改正优化如果文章对你有所帮助请给博主一个宝贵的三连感谢大家