原文:冒泡排序(及改进版)

冒泡排序 基本思想 冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大 小 的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分 下一次继续这个过程,直到所有数据元素都排好序。 算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大 小 的数据元素放到队尾。 C 代码: ...

2019-07-15 18:05 0 539 推荐指数:

查看详情

改进版冒泡排序(双向冒泡算法)

下面是两种一般冒泡算法和双向冒泡算法的对比: #include "stdafx.h" #include <stdio.h> #include <stdlib.h> //一般的冒泡排序 void bubbleSort(int a[], int n) { int i ...

Sun Mar 17 06:08:00 CST 2013 4 11230
改进冒泡排序

1. 问题 学过编程的朋友应该对冒泡排序不陌生,这里就不多讲了,直接提一个有意思的问题: 冒泡排序中,如果经过某一趟冒泡排序后,该序列已经排序好了,那么此时就可以提前退出了。 2. 分析 2.1 如何判断序列已经是有序的呢? 看一个有序数列{1, 2, 3, 4, 5},如果用冒泡 ...

Sat Nov 26 22:29:00 CST 2016 2 1771
8 排序--选择排序,插入排序,冒泡排序,shell排序,快速排序(递归,迭代,改进版本),归并排序

排序 排序是使数据有序化的操作。这里的数据包括关键字和其它信息项,关键字用来控制排序排序使得数据有序化,实际上是使数据按关键字的某个定义明确的顺序规则排列。如果被排序的数据在内存中,那么这个排序方法就叫做内排序;如果数据来自磁盘则叫做外部排序。其中内部排序能很容易访问任何数据项 ...

Sun Jul 15 01:37:00 CST 2012 1 2656
链表冒泡排序

  节点值交换法:   设置两个链表指针p、q,第一个用来指向头结点后一个(head->next)(每次内层循环结束,则往后移动),第二个用来继承当前p节点后一个(p ->next),在内层循环中不断往后移动,期间满足交换条件则交换,直至排序完毕。实际上与用指针做冒泡排序时一样 ...

Tue Aug 08 07:14:00 CST 2017 0 12613
汇编冒泡排序

初学汇编,老师让写个冒泡排序出来,带提示语句的,于是我就写了一个。 这个程序目前只支持8个数及以内的排序排序的数值范围最大为255。 用到的东西都很简单,只用了基本的寄存器和jmp运算。 更新补充:我自己的电脑上\n即可实现回车换行,但是有的机器不支持,需要\r\n才可以回车换行。如果测试时 ...

Sat Oct 05 21:33:00 CST 2019 0 780
冒泡排序(js

基本思想:两两比较相邻记录的关键字,如果反序则交换,直至没有反序为止。 最初的冒泡排序(初级): 由于这样的排序仅仅是交换顺序,不算是真正的冒泡排序,效率也比较低。 当i=0, arr[0]和它后边的每一项进行比较大小,前者大于后者,则进行交换。始终保证arr ...

Wed Aug 22 07:34:00 CST 2018 1 3544
排序算法 - 冒泡排序优化

算法思想 冒泡排序分为趟数和交换次数。 外层循环为趟数,如果有n个元素则要循环n-1趟。 内层循环主要做每一趟的交换,从第0个元素开始如果发现当前元素大于它的后一个元素,将其交换,每一趟下来,最后一个元素都是最大的,所以每次循环只要循环到0~n-1-i即可,因为后面的元素就是有序 ...

Sun Jun 23 00:12:00 CST 2019 0 452
经典算法冒泡排序java

写个冒泡排序冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。 测试一下看看 加上主函数 感觉还可以 ...

Mon Apr 15 04:54:00 CST 2019 4 3421
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM