用快速分类算法给出数据(49,38,65,97,76,13,27,49)的第一趟排序过程
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/05/26 02:14:37
用快速分类算法给出数据(49,38,65,97,76,13,27,49)的第一趟排序过程
设置两个指针low和high,分别指向第一个和最后一个记录,设枢轴记录的关键字为pivotkey,初始值为第一个记录,即49,则首先从high所指向的位置起向前搜索找到第一个小于pivotkey的记录,即找到小于49的记录,即倒数第二个记录27,然后将27与pivotkey所指的记录即49交换,得到27,38,65,97,76,13,49,49这个序列,然后从low所指的位置起向后搜索,找到第一个大于pivotkey所指的记录,然后交换,得到27 38 49 97 76 13 65 49,注意,每向后搜索一次,low加1,每向前搜索一次high减1,每一次排序的结束条件是high==low,每次交换的次序都是一次向前,一次向后,交叉进行,且每一次都是从high和low所指的位置向前或向后进行查找,交换,现在high所指的的位置为倒数第二个,即65,向前查找比49小的记录,为13,然后将13和49(pivotkey所指的49)进行交换,得到 27 38 13 97 76 49 65 49,然后从low所指的位置向后查找比pivotkey所指的49大的记录,找到97,进行交换,得到 27 38 13 49 76 97 65 49由于现在high指向倒数第三个记录(97),向前查找,由于76>49,仍然向前,到达pivotkey所指的49的位置,可是low已经指向这个49,此时high==low,第一次排序结束,得到27 38 13 49 76 97 65 49这个序列.
不知道这样说是否满意?
不知道这样说是否满意?
用快速分类算法给出数据(49,38,65,97,76,13,27,49)的第一趟排序过程
利用选择排序算法,对下面一组数进行排序(升序),并写出每趟排序结果:{49,38,65,97,76,13,27,59}
给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是?
整理数据的主要方法有分类、排序、( )、( )
如何理解快速排序算法的思想?
已知序列(25,16,32,18,20,36,12)请给出采用冒泡排序对该序列做升序排序时的每一趟结果
已知关键字序列(56,30,71,29,97,83,74,64,76,48),采用堆排序算法进行递增排序,给出前5各趟排
一组记录的关键字为(52,56,26,12,69,85,33,48,70),给出快速排序的过程.
用算法流程图表示,用冒泡排序法将这8个数:33,26,49,58,17,44,83,27按从大到小的顺序排序
RSA算法 用RSA算法 试给出m=student的加解密过程Eucliden算法 得出d
写出使用冒泡排序法对下列数据进行从小到大排序的中间过程和最后结果 24,19,32,43,38,6,13,22
c语言的排序算法 一个数组中的数据排序 但是要求排完序之后 新的顺序用原来的那种标号来表示