用程序流程图表示“快速排序”和“冒泡排序” 什么意思?怎么写啊?

如题所述

冒泡排序思想 :每次前后两个比较,前面大就交换这两个,一直到最后这是一趟,需要n趟(小到大排序)
例如:4 2 7 1 8 对这几个数冒泡排序
2 4 7 1 8 第一趟第一次交换2 4
2 4 7 1 8 第一趟第二次
2 4 1 7 8 第一趟第三次
2 4 1 7 8第一趟第四次
第一趟结束 最大8冒到最后
第二趟 7冒上来
第三趟 4冒上来
第四趟 2冒上来
快排:每趟确定一个数的位置,大的全放到它的右边,小的放左边,这样它的左右又形成两个新的未排序数组,一直递归直到全部找到它们相应的位置
这样说不知道你理解了没?
例如: 4 2 1 7 8
i j
tmp = a[i] ;
while(i < j){
while(i<j&&a[j] > tmp)j--;
a[i] = a[j];
while(i<j&&a[i] < tmp)i++;
a[j] = a[i];
}
a[i] =tmp;
第一趟快排: 1 2 4 7 8

给分吧。打字好难
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网