sorting
AcToy
有志者 事竟成
展开
-
hdu1040
#include #include #include using namespace std; vector vec; int n, t, x; int main ( ) { while ( cin >> t原创 2013-01-08 22:28:02 · 351 阅读 · 0 评论 -
hdu 2673
主要就是排序后处理输出 偶数和奇数的情况 #include #include #include using name原创 2013-01-08 22:51:35 · 382 阅读 · 0 评论 -
hdu1236
sort 函数中的cmp 要格外小心 我就是因为 cmp 函数有问题 一直 Runtime Error #include原创 2013-01-09 00:15:31 · 489 阅读 · 0 评论 -
hdu 1106
以5为界,分开后,排序输出。。 #include #include #include #include using namespace std; bool cmp ( int a, int b ) { return a < b; } int main ( ) { int i, count, num[1005]; char s[1005], *p;原创 2013-01-09 18:50:24 · 250 阅读 · 0 评论 -
hdu 1209
给出5个时间,按时针和分针的角度排序。 若 角度相等。时间小的在前面。 #include #include #include using namespace std; struct In{ int hh, mm; double angle; }in[8]; bool cmp ( In a, In b ) { if ( a.ang原创 2013-01-09 21:30:45 · 492 阅读 · 0 评论 -
归并排序
归并排序的过程就是假设子数组A[p..q]和 A[q + 1 .. r ]都是排好序的,并将它们合并成一个已排好序的子数组代替当前数组A[p..r]。 这个过程是在函数MEGRE中实现。 MEGRESORT 函数是对子数组A[p..r]进行排序。若p >= r,则该子数组中至多只有一个元素,当然就是已排好序的。否则,分解步骤就计算出一个下表q,将a[p..r]分成a[p..q] 和a[q +原创 2012-12-06 19:09:20 · 346 阅读 · 0 评论 -
快排
今天才学习了快排,参考了《算法导论》。 对于n个数的输入数组,最坏的情况运行时间是O(n^2),期望的运行时间为O(nlogn)。 用C实现了下。继续努力。。。 #include #include int partition ( int *a, int p, int r ) { int x = a[r]; int i = p - 1; int tmp;原创 2012-11-26 22:28:29 · 529 阅读 · 0 评论 -
堆排序
自己模拟了一遍,了解了整个排序的过程。。。 #include #include int size, n; void HEAPIFY ( int *a, int i ) { //找最大堆 int l, r, largest, tmp; l = 2 * i;原创 2012-11-30 21:49:19 · 468 阅读 · 0 评论 -
插入排序
此算法就好比我们玩纸牌。整理手牌一样。 开始摸牌时,我们左手是空的,牌面下放在桌子上。接着从桌上摸一张牌。 并将它插入到左手中的正确位置中。要将它插入到正确的位置,就要将它从左至右进行比较。所以左手中的牌都是排好序的。 适合数量较少的排序。。。 #include #include int main ( ) { int n, a[100]; while ( sca原创 2012-11-30 22:05:48 · 385 阅读 · 0 评论