您的位置:首页 > 其它

算法

2015-07-01 10:12 176 查看
一:冒泡排序
把小的元素往前调或者把大的元素往后调,是相邻的两个元素比较,交换也发生在这两个元素之间,相同的两元素不会进行比较交换。
eg:6、1、9、8
第一轮比较:
第一步:6和1比较,6往后挪变为1、6、9、8
第二步:6和9比较,发现9比6大,不动,还是1、6、9、8
第三步:9和8比较,9往后挪变为1、6、8、9

第二轮轮询比,直到最后一轮

二:快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。
eg:6、2、7、3、8、9
先把6和9定义为第一个和最后一个
i=0,j=5,k=6
第一轮:
从最右边开始往前找,找到比6小的互换,3、2、7、6、8、9, (i=0,j=3,k=6)
从最左边开始往后找,找到比6大的互换,3、2、6、7、8、9 (i=2,j=3,k=6)
第N轮:重复第一轮的步骤,直到 i和j 碰头为止

三:插入排序
eg:【12】、15、9、20、6
第一轮:【12、15】、9、20、6
第二轮:【9、12、15】、20、6
第三轮:【9、12、15、20】、6
第四轮:【6、9、12、15、20】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: