排序算法
_好吗_好的
Stay Hungry,Stay Foolish.
展开
-
冒泡排序算法
#include <cstdio>int main(){ int i[11]= {10,9,8,7,6,5,4,3,2,1}; int t; for(int a = 0; a < 9; a ++) { for(int b = 0; b < 9-a; b ++) { if(i[b]>i[b+1])原创 2017-07-26 15:51:30 · 172 阅读 · 0 评论 -
快速排序详解
快速排序法详解快速排序法(QuickSort)是一种非常快的对比排序方法。它也Divide-And-Conquer思想的实现之一。自从其产生以来,快速排序理论得到了极大的改进,然而在实际中却十分难以编程出正确健壮的代码。本文将对快速排序算法的基本理论和编程实践方面做作一个全面的讲解。在本文讲解中,将忽略很多细枝末节,试图给读者形成一个非常具体的快速排序形象。1.快速排序—基本理论因为该算法是Divi原创 2017-06-18 14:51:14 · 419 阅读 · 0 评论 -
排序算法的稳定性
常见错误 呈现错误(PE):输出格式错误。你的输出格式与法官的输出不完全一样,虽然你对这个问题的回答是正确的。检查输出的空格,空行等对问题输出规格。 错误的答案(佤族):正确的解决方案没有达到的投入。我们用来测试程序的输入和输出不是公开的。特别裁判的一些问题可能不回答“呈现错误”,取而代之的是“错误的答案”。 运行时错误(RE):执行过程中程序失败(分割错误,浮点异常…)。据报道,除了jav原创 2017-06-18 14:49:11 · 402 阅读 · 0 评论 -
简单选择排序(Eternallyc)
原理: 每次选择的数都是整个数组中最小的数,将这个最小的数和当前的数进行交换。演示: 原来的数: … 9 4 10 2 1 循环一次后: 1 4 10 2 9 循环二次后: 1 2 10 4 9 循环三次后: 1 2 4 10 9 循环四次后:原创 2017-09-05 21:12:41 · 226 阅读 · 0 评论 -
直接插入排序
直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。前提:在我们平时打牌的时候,摸完第二张牌后是不是要给他们排序,这样后面的牌大于前面的牌的话就将后面的牌放在左边,前面的牌放在右面,是吧,然后再摸一张牌,看这张牌是不是比前面两张牌都大,都大的话放在最右边,都小的话放在最左边,比一个大,比一个小的话放在中间,然后在摸一张牌。。。。依次类推。 这样我们就原创 2017-09-10 20:37:49 · 205 阅读 · 0 评论 -
希尔排序
写得比较简短些,希尔排序就是直接插入排序的强化升级,一般来说,直接排序如果是逆序的数组,那么要后面每个数移动的次数会有很多,那么如果分成3组分别来对比,就意味着10个数的数组只需要比较3次,移动也是最多3次,这样大大增加了算法效率。 代码如下:#include <cstdio>int main(){ int i[11]= {0,10,9,8,7,6,5,4,3,2,1};原创 2017-09-11 21:48:09 · 311 阅读 · 0 评论