快速排序(Quick Sort)与冒泡排序均为交换类排序。快排是对冒泡排序的一种改进。由于关键字的比较和交换是跳跃进行的,因此,快速排序是一种不稳定的排序方法。 0. 序 1. 冒泡排序 2. 快速排序 2.1 基本思想 2.2 一趟快速排序(一趟划分) 2.3 过程 2.4 实现 2.5 复杂度分 ...
分类:
编程语言 时间:
2019-11-30 11:13:46
阅读次数:
119
原文地址:https://blog.csdn.net/shujuelin/article/details/82423852 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道 ...
分类:
编程语言 时间:
2019-11-29 12:39:36
阅读次数:
73
关于排序算法的总结 1.1概述 生活中处处存在排序,考试成绩要排序,年龄大小要排序,图书馆的藏书也要排序。排序也是数据结构课程的一个重要组成部分。教材中的出现的排序有名次排序、选择排序冒泡排序等,下面我们一一进行介绍。 1.2排序算法 1.2.1名次排序 rank sort 所谓排序,也就是给排列的 ...
分类:
编程语言 时间:
2019-11-28 21:29:41
阅读次数:
79
冒泡排序 1.冒泡排序思想 让数组当中相邻的两个数进行比较,数组当中比较小的数值向下沉,数值比较大的向上浮!外层for循环控制循环次数,内层for循环控制相邻的两个元素进行比较。 2. 编码 #include<stdio.h> int main() { int a[100],i,j,n,t; pri ...
分类:
编程语言 时间:
2019-11-28 21:17:42
阅读次数:
72
冒泡排序分为从大到小和从小到大两种。从大到小 每次把最小的冒到最后面从小到大 每次把最大的冒到最后面(以这个为例)从前往后比较 ,如果前面比后面小,就交换位置。int[] but= {23,43,6,80,92,14,38}; for(int i=0;i<but.length;i++) { for( ...
分类:
编程语言 时间:
2019-11-28 01:03:37
阅读次数:
80
public static void main(String[] args){ int[] arr= {321, 43, 45, 76, 8, 6, 9, 1, 3, 63, 43}; for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length ...
分类:
编程语言 时间:
2019-11-27 20:41:56
阅读次数:
68
时间复杂度为n^2的排序 冒泡排序和选择排序的共同点:每次都是在找剩下元素中最小(大)的元素 不同点:冒泡排序存在多次交换,而选择排序每次只存在一次交换序号 ...
分类:
编程语言 时间:
2019-11-24 11:59:29
阅读次数:
93
一、冒泡排序 arr = [5,3,1,2,4] n = len(arr) for i in range(n - 1): for j in range(n - 1 - i): print(i,j) if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j ...
分类:
编程语言 时间:
2019-11-23 22:07:03
阅读次数:
93
数据的排序是在解决实际问题时经常用到的步骤,也是数据结构的考点之一,下面介绍10种经典的排序方法。 首先,排序方法可以大体分为插入排序、选择排序、交换排序、归并排序和桶排序四大类,其中,插入排序又分为直接插入排序、二分插入排序和希尔排序,选择排序分为直接选择排序和堆排序,交换排序分为冒泡排序和快速排 ...
分类:
编程语言 时间:
2019-11-23 21:55:58
阅读次数:
69