首页 > 代码库 > 常见排序算法小结
常见排序算法小结
排序算法有很多种,包括冒泡排序,选择排序,快速排序,插入排序,希尔排序,堆排序等。这里着重讨论下冒泡排序,快速排序和插入排序这三种排序算法。
冒泡排序——时间复杂度O ( n2 )
冒泡排序从第一个元素开始,依次与后面的元素比较,每次遇到比当前元素更大(或更小)的值时,则交换数值。每一轮比较后位于当前位置的数值都是最小(或最大)的,总共需要(n-1) + (n-2) + (n-3) + …… + 1 即(n+1)*n/2次比较,时间复杂度为O(n2)。
Java实现代码为:
public static void bubbleSort(int[] nums){ for(int i=0;i<nums.length;i++){ for(int j=i;j<nums.length;j++) if(nums[i]>nums[j]){ int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } } for(int i=0;i<nums.length;i++){ System.out.println(nums[i]); } }
常见排序算法小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。