排序
theoriginaldream
这个作者很懒,什么都没留下…
展开
-
插入排序
思路: 把第一个元素看作是有序的,从第二个元素起,每次都从右向左地与前面的元素比较; 如果该小于前面的某个元素,则把大的元素往右移动; 直到该元素放在了正确的位置上。 (每次循环开始时都保证前面的元素是有序的) 复杂度:(要求升序排序) 最好情况:比较n-1次 最坏情况:比较n(n-1)次,赋值操作n(n-1)+n-1 次 平均:O(n^2) #include usin原创 2015-02-09 20:18:23 · 226 阅读 · 0 评论 -
快速排序
//快速排序:分治思想,边分边排 //划分方法:以最右边的为枢轴元素进行划分,枢轴元素的左边的元素都比它小,右边的元素都比它大 #include using namespace std; int a[1000];//算法的复杂度计算要熟练掌握 void sort(int left,int right) { if(right>left) { int i=left-1; int j=原创 2015-02-06 17:05:35 · 251 阅读 · 0 评论