摘要: 编译环境:gcc4.4.3#include <stdio.h>#define swap(a,b) {if(a!=b){(a)^=(b); (b)^=(a); (a)^=(b);}}#define MAX 10void sort(int *num){ int key, i, j; for (i = 0; i < MAX-1; i++) { key = i; for (j = i; j < MAX; j++) { if (num[j] < num[key]) { k... 阅读全文
posted @ 2013-02-05 13:41 TonyKong 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 编译环境:gcc4.4.3#include <stdio.h>#define MAX 10#define swap(a,b) {if(a!=b){(a)^=(b);(b)^=(a);(a)^=(b);}}//此函数用于保证x左边的数都小于它,而右边的数都大于它。int partition(int *A, int p, int r){ int x, i, j; x = A[r]; i = p - 1; for (j = p; j < r; j++) { if (A[j] <= x) { i++; ... 阅读全文
posted @ 2013-02-05 13:39 TonyKong 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 编译环境:gcc4.4.3#include <stdio.h>#define MAX 10void prtarry(int* sum, int n);//p, q, r均为数组下标void merge(int *A, int p, int q, int r){ printf("p=%d q=%d r=%d ", p, q, r); int i, j, k; int n1 = q - p + 1; int n2 = r - q; int L[MAX], R[MAX]; for (i = 0; i < n1; i++) L[i] = A[p + i... 阅读全文
posted @ 2013-02-05 13:38 TonyKong 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 编译环境:gcc4.4.3#include <stdio.h>#define MAX 10void sort(int *sum){ int i, j, key; for(j=1; j<MAX; j++) { key = sum[j]; i = j - 1; while(i>=0 && sum[i]>key) { sum[i+1] = sum[i]; i--; } sum[i+1] = key; }}void sort2(int *su... 阅读全文
posted @ 2013-02-05 13:36 TonyKong 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 回顾一下基本算法。编译环境:gcc4.4.3#include <stdio.h>#define MAX 10void sort(int *A, int length){ int i, j; for (i = 0; i < length; i++) { for (j = length-1; j > i; j--) { if (A[j] < A[j-1]) { A[j] ^= A[j-1]; A[j-1] ^= A[j]; ... 阅读全文
posted @ 2013-02-05 11:33 TonyKong 阅读(198) 评论(0) 推荐(0) 编辑