虽然桶排序很方便,但是它非常浪费空间!!!在多大范围就要开多大的空间,seriously?! 所以,推出了一种新的算法:冒泡排序! 其思想就是比较相邻的两个元素,如果与题目不符就交换 如上图就是利用冒泡每次都与相邻的比较,最后在最后一位的就是最大的数,依次排列完成想法! 比较相邻的元素,如果前一个比 ...
分类:
编程语言 时间:
2020-01-24 17:31:35
阅读次数:
96
快速排序是冒泡排序的改进版,也是最好的一种内排序,还涉及到分治和递归 基本思路: 1先从数列中取出一个数作为基准数(简单起见可以取第一个数) 2分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边(分区) 3再对左边区间重复第一步和第二步,直到各区间只有一个数(递归) 举例: 对 ...
分类:
编程语言 时间:
2020-01-23 14:06:37
阅读次数:
118
1. 排序 1.1 交换式排序 package main import ( "fmt" ) //冒泡排序 func BubbleSort(arr *[5]int) { fmt.Println("排序前arr=", (*arr)) temp := 0 //临时变量(用于做交换) //冒泡排序..一步一 ...
分类:
编程语言 时间:
2020-01-23 09:25:18
阅读次数:
85
冒泡排序算法思想: 让数组中的两个相邻数字进行比较,数组中较大的值向下沉,值小的上浮,就类似于水中的气泡,较大的下沉,较小的上升,慢慢冒出来。简单的说就是数值大的会慢慢往前排,数据值小的会慢慢向后排,最终实现由小到达排列,最小的排在最前,最大的排到最后。冒泡排序图解: 算法执行前 算法执行后 冒泡算 ...
分类:
编程语言 时间:
2020-01-23 09:16:07
阅读次数:
72
利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序 冒泡排序:小的排在前,大的排在后面 ...
分类:
编程语言 时间:
2020-01-22 20:22:19
阅读次数:
80
例1,输出最大值 #include <iostream>#include <iomanip>using namespace std;int main(void){ int a[2][3] = { { 15,34,23 },{ 54,27,65 } }; // 二维数组 int i, j, k; in ...
分类:
编程语言 时间:
2020-01-22 16:30:50
阅读次数:
76
1 //冒泡排序 2 void bubbleSorte(int* arr, int len) 3 { 4 for (int i = 0; i < len - 1; i++) 5 { 6 for (int j = 0; j < len - 1 - i; j++) 7 { 8 if (arr[j] > ...
分类:
编程语言 时间:
2020-01-22 14:44:45
阅读次数:
94
一、冒泡排序: 1 package com.duan.array; 2 3 import java.util.Arrays; 4 //两两比较,大的往后边放,经过一轮比较,最大的元素就会出现在最后面。 5 public class BubbleSort { 6 public static void ...
分类:
编程语言 时间:
2020-01-21 18:23:51
阅读次数:
63
冒泡排序: 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序! 冒泡的代码还是很简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人尽皆知。 我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2)。 1 package com.duan.array; 2 3 import jav ...
分类:
编程语言 时间:
2020-01-21 18:09:44
阅读次数:
83
冒泡排序应该是程序员入门必备的算法之一吧,我们来看看常规的冒泡排序算法; def bubble_sort_01(random_list): """没有优化的常规冒泡排序""" list_len = len(random_list) # 外层控制循环次数,内层控制索引 for outer_idx in ...
分类:
编程语言 时间:
2020-01-20 14:46:17
阅读次数:
101