排序系列01--冒泡

1什么是排序? 把无序序列通过算法转换成有序序列

2为什么需要用排序? (个人理解QAQ):用户在看value的时候,往往希望看到的value的值是有序的--好像有点牵强。。。

3如何用?

1 冒泡排序:

  先要了解下穷尽算法,所谓穷尽,就是把事情发生的一切可能性都列举。冒泡排序的核心就是每个值与每个值的比较,最终取得最大值

比如我们要比较a0...a10  我们先用a0跟 a1-a10每个进行比较,然后是a1跟a2-a10...

def bubblesort(num):

  item = len(num)  #计算列表的长度

  for i in range(item):
    for n in range(i,item):
      if num[i] > num[n]:
      tr =0 #中间变量 用户交换两个数的值
      tr = num[i]
      num[i] = num[n]  
      num[n]=tr

  return num

时间: 2024-12-15 01:38:23

排序系列01--冒泡的相关文章

排序系列之——冒泡排序、插入排序、选择排序

排序之——冒泡排序: 基本思想:假设待排序表长为N,从后往前(或者从前往后)两两比较相邻元素的值,若为逆序(arr[i-1]>arr[i]),则交换他们,直到序列比较完.这时一趟冒泡. 代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <time.h> 5 #define N 20 6 7 void print_Arr(int *arr,

Windows内核原理系列01 - 基本概念

1.Windows API Windows 应用编程接口(API)是针对WIndwos操作系统用户模式的系统编程接口,包含在WindwosSDK中. 2.关于.NET .NET由一个被称为FCL的类库和一个被称为CLR的公共语言运行库组成.FCL是建立在CLR之上的,而CLR是一组标准的COM服务器,提供了垃圾回收,即时编译类型检验等特性.由于CLR的这些特性,使得开发人员的生产效率得以提高..NET框架与组建的关系如下: .NET应用程序 用户模式(托管代码) —————————— 类库(FC

.net工作准备系列--01前言

注:学习参考朱毅编著的进入IT名企必读200题. 内容重在自我学习与巩固. 前言: 章节划分 01应聘须知 02基础知识(重点) 03进阶知识 04重点应用(aspnet第一部分) 04重点应用(aspnet第二部分) 05.网络通讯 06.代码与算法 07 增强知识 01应聘须知-1.了解软件开发大环境.-2.准备简历:不宜超过一页,永远准备中文,模板.-3.渠道:3大网站,中华英才,前程无忧(51job最给力),智联招聘. -4.面试禁忌:不重考官,不注礼节,夸夸其谈,急问待遇. 总得来说就

Java 集合系列 01 总体框架

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java集合是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等.Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表.Set集合.Map映射.工具类(Itera

常见排序算法(冒泡、选择、插入、快速、归并C++实现)

常见排序算法(冒泡.选择.插入.快速.归并C++实现) #include <iostream> using namespace std; // 冒泡排序 void bubbleSort (int data[], size_t size) { for (size_t i = 0; i < size - 1; ++i) { bool ordered = true; for (size_t j = 0; j < size - 1 - i; ++j) if (data[j+1] <

小白C#窗体系列-01.简易浏览器

最近重伤,今天正好放假,就抽个空出C#第一集,开发完毕... 如果你看不到这篇文章,那过一天就可以看见了. 软件下载(.NET 4.0 框架)http://pan.baidu.com/s/1c03X7vM[源码看下面] 一.设计图纸: 二.代码分析 1.后退键. 前进键.停止键.刷新键:这几个功能本来我是准备用个数组来存储,可以前进后退的,后来啃他自带方法的时候发现微软提供了方法,也就偷个懒了后退按钮 this.webBrowser1.GoBack(); 前进按钮 this.webBrowser

基本排序系列之计数排序

简述计数排序 看了好多别人写的计数排序,看了好久都没看懂,弄了好久最后发现这么简单居然花了几个小时,所以在这里写上,希望和我一样的初学者不会再绕弯路. 一.简述计数排序的思想: 设被排序的数组为A,排序后存储到B,C为临时数组.所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以:在此基础上,计算小于或者等于i的元素个数,也是一重循环就完成.下一步是关键:逆序循环,从length[A]到1,将A[i]放到B中第C[A[i]]个位置上.原理是:C[A[i]]

基本排序系列之基数排序

基数排序 一.基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较. 其实现原理:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零.然后,从最低位开始,依次进行一次排序.这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列. 二.具体操作:此排序的真正实现是通过队列的装置,先进先出的原理,通过把个位,十位,百位,等其他进制也一样,放到不同的队列中(俗称桶)再按照先进先出的原理得到新的序列,在通过百位将其重新入桶回收等操

java io系列01之 &quot;目录&quot;

javaIO系列转载出处:http://www.cnblogs.com/skywang12345/p/io_01.html 该分类所有博文,均转载同一作者,后边不再累赘标名. java io 系列目录如下: 01. java io系列01之  "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括InputStream) 03. java io系列03之 ByteArrayOutputStream的简介,源码分析和示例(包括Ou

排序系列算法——冒泡排序

冒泡排序 什么是冒泡排序 如果大家平常有即系观察水泡付出谁面的情况就可以发现水泡从下往上是逐渐增大的,升到即将浮出水面的时候往往是水泡最大的时候,如下图所示. 冒泡排序的原理跟这个情况很类似,让子序列中的最大元素不断沉底,达到排序的目的.说白了,冒泡排序一共经过N-1次遍历,其中第i次遍历前N-i个元素(第i+1到N个元素已经排序完毕),将第i大的元素移动到N-i的位置 . 冒泡排序的过程可描述如下: 令A表示进行排序的数组,N表示A的长度,A[i]表示数组A第i+1个元素,i=1,1,2,3.