这个是紧接着的下一道题.发现了,其实,随着数据种类多起来,分块也就多了,这也正是快速排序的来历吧.还有呢,就是,随着数据多起来,也就是会重复的情况下,也就会出现array[i] == array[j] == array[pivot]的时候,那样我这段代码的主循环也就无法运行了.于是,在median3 () 函数中先要将两头排好序, 以便在主循环中安全地使用前缀自增运算符.
这本书里的练习题感觉不错,只是算法分析的题做着比较吃力,相信随着数学的学习,情况会好起来吧!
贴上代码,呵呵.
这个是紧接着的下一道题.发现了,其实,随着数据种类多起来,分块也就多了,这也正是快速排序的来历吧.还有呢,就是,随着数据多起来,也就是会重复的情况下,也就会出现array[i] == array[j] == array[pivot]的时候,那样我这段代码的主循环也就无法运行了.于是,在median3 () 函数中先要将两头排好序, 以便在主循环中安全地使用前缀自增运算符.
这本书里的练习题感觉不错,只是算法分析的题做着比较吃力,相信随着数学的学习,情况会好起来吧!
贴上代码,呵呵.