将线性表中的元素以第一个元素的key为界划分成两部分,要求排在分界元素之前的元素,其key值都比分界元素小,而排在其后的元素,其key值都比分界元素大.
问题描述:
将线性表中的元素以第一个元素的key为界划分成两部分,要求排在分界元素之前的元素,其key值都比分界元素小,而排在其后的元素,其key值都比分界元素大.
答
这是快速排序中的一次划分问题.
①取线性表中的第一个元素的key作为基准,将第一个元素暂存于temp中,设两个变量i,j分别指示将要划分的最左、最右元素的位置.
②将j指向的元素的key值与基准值进行比较,如果j指向的元素的key值大,则j前移一个位置;重复此过程,直到j指向的元素的key值小于基准值;若i