作业帮 > 综合 > 作业

C语言中 关于快速排序法的题目:关键码序列:(66,13,51,76,81,26,57,69,23)按照递增顺序排序,采

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 13:44:11
C语言中 关于快速排序法的题目:关键码序列:(66,13,51,76,81,26,57,69,23)按照递增顺序排序,采用快速
序法,并以第一个元素划分的基准,那么第一趟划分后的结果是?
23,13,51,57,26,66 ,81 ,69,76
再问: 可以讲讲为什么吗 详细过程 谢谢啊
再答: 以第一个元素为基准指针,最前面一以low指针,最后一个high指针,基准指针总是会和一个指针保持一致,和另一个指针的值比较。一旦前面大于后面,值进行交换,基准指针也指向另一个。移动的总是那个和基准指针相对的。交换一次便定了一个值,并且是原基准指针位置。 举例: 第一趟: 基准指针与low指针一致,所以和high指针的值进行比较,不满足要求,所以low和high值互换,基准指针指向high,low的值就定了,low就往后面移动一个。 以后同上,直到low=high. 23,13,51,76,81,26,57,69,66 23,13,51,66,81,26,57,69,76 23,13,51,57,81,26,66,69,76 23,13,51,57,66,26,81,69,76 23,13,51,57,26,66,81,69,76