线性表里的冒泡排序和快速排序是什么?比较次数有什么区别?
冒泡排序是一种交换排序方式。设有n个数据依次放在数组元素a(1)至a(n)中,用冒泡法对这n个数据进行递增排序的过程为:先比较a(1)与a(2),若逆序则交换之,接着比较a(2)与a(3),若逆序就交换……依次进行,知道将a(n-1)与a(n)比较交换完,才算完成了第一轮比较交换。然后以同样规则进行第二次交换……一直到数据排好序为止。最坏情形下比较1/2
n(n-1)次,交换3/2
n(n-1)次。
快速排序是由著名计算机学家C.A.R.Hoare在起泡排序的基础上提出的一种高效率的排序算法。它的基本思想是:在待排序数列中选取一个元素(通常是第一个元素)x,按某一规律经过多次交换位置后,它移到某一位置,以此位置对原数列进行划分,使得得到的两个子数列对x来说符合排序规律。元素x称为此数列中的划分元素。接着按此方法对两个字数列再划分,直到得到不需要进一步划分的子数列为止。这一过程具有明显的递归性。
快速排序多数情况下比冒泡排序要高效,若需要算法或代码可以hi本人。
声明:pascal是一个语言,没有版本的CP,TP,FP,等都是pascal语言的IDE
关于这些的说明:
TP是编译器有内存限制的,也就是说你的变量最大不能开到超过64K,很早的一个IDE,你几乎用不到不用去了解了。
CP是一个新的IDE,新手用起来比较顺手,但是如果要参加NOIP就少用点,官方是用FP的,到时候不要FP用起来不顺手
FP是一个比较完善的IDE,官方比赛都用这个。
其他的IDE么,像Lazarus就是一个基于FPC(FP的编译器)的一个IDE,特色就是可以快速写窗口程序。
DELPHI也是一种基于PASCAL语言的系列。
还有GUIDE,这是个万能的IDE,C,C++,PASCAL语言都可以用GUIDE,我记得NOI比赛里也是可以用的,不过要捣鼓很久,你先把FP搞明白再说。
哪种IDE最好,就要你看你要干神马:
NOI比赛么可以用Lazarus,GUIDE,FP,比赛提供的三种支持PASCAL的IDE
如果要快速开发程序可以用,DELPHI7(更高版本是.net版本,不建议使用),Lazarus
还有千万不要把CP,TP,FP当成三种PASCAL语言,这是三种IDE(集成编译环境)初赛要考的!
不懂Q我,
754637491
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!