code
文章平均质量分 68
calvin_zcx
这个作者很懒,什么都没留下…
展开
-
插入排序+二分查找
void insertionSortBinary(TYPE A[], int n) { int i, j, l, r, mid; TYPE key; for(i = 1; i<n; ++i) { key = A[i]; l = 0; r = i-1; while(l <= r) { mi原创 2012-04-25 18:10:49 · 396 阅读 · 0 评论 -
归并排序
#define MAX 9999999 void mergeMAX(TYPE A[], int p, int q, int r) { int n1 = q-p+1, i, j, k; int n2 = r-q; TYPE L[N/2 + 2], R[N/2+2]; for(i = 0; i < n1; ++i) L[i] = A[p+i]; L[i] = MAX;原创 2012-04-25 00:26:01 · 317 阅读 · 0 评论 -
希尔shell排序
#include #include #include typedef int TYPE; #define N 100000 void exchange(TYPE A[], int a, int b){TYPE tmp = A[a]; A[a] = A[b]; A[b] = tmp;} void selectionSort(TYPE A[], int n) { int i, j,原创 2012-04-23 17:13:48 · 358 阅读 · 0 评论 -
选择排序
typedef int TYPE; #define N 100 void exchange(TYPE A[], int a, int b){TYPE tmp = A[a]; A[a] = A[b]; A[b] = tmp;} void selectionSort(TYPE A[], int n) { int i, j, minIndex; for(i = 0; i < n-1;原创 2012-04-23 16:00:35 · 331 阅读 · 0 评论 -
插入排序
// // main.c // FirstProgram // // Created by Calvin Zang on 12-4-17. // Copyright (c) 2012年 SYSU. All rights reserved. // #include #include #include typedef int TYPE; #define N 100 void inse原创 2012-04-23 00:35:25 · 342 阅读 · 0 评论 -
最大堆与优先队列
// // main.c // FirstProgram // // Created by Calvin Zang on 12-4-17. // Copyright (c) 2012年 SYSU. All rights reserved. // #include //for test #include // #include //rand // #define N 1000 #def原创 2012-04-22 22:57:15 · 428 阅读 · 0 评论 -
删除字符串多余空格
void deleteBlank(char str[]) { int len = strlen(str), i, j, p, s, e = len; for(i = 0; i < len; ++i) { if(str[i] != ' ')continue; if(str[i+1] == ' ') p = i+1; for(j原创 2012-04-22 22:55:05 · 619 阅读 · 0 评论 -
计算两个字符串的距离(相似度)
#define min(a,b) (((a)<(b)) ? (a) : (b)) int stringDistance(char strA[], int pABegin, int pAEnd, char strB[], int pBBegin, int pBEnd) { if(pABegin > pAEnd){ if(pBBegin > pBEnd) return 0;原创 2012-05-07 20:19:05 · 747 阅读 · 0 评论 -
冒泡排序bubbleSort
#include #include #include typedef int TYPE; #define N 100 void exchange(TYPE A[], int i, int j){TYPE tmp = A[i]; A[i]=A[j];A[j]=tmp;} void bubbleSort(TYPE A[], int n) { int i, j; for(i =原创 2012-05-05 21:45:20 · 396 阅读 · 0 评论 -
合并两个排好序的链表
typedef struct Nodetag{TYPE val; struct Nodetag * next;} Node; typedef Node* pNode; Node* combine(Node* p1, Node* p2) { Node *head, *p; if(p1 == NULL) return p2; if(p2 == NULL) return p1;原创 2012-04-22 22:53:09 · 936 阅读 · 1 评论 -
链表归并排序
#include #include #include #include //#include //using namespace std; typedef int TYPE; typedef struct NODETAG { struct NODETAG* pNext; TYPE value; } NODE; NODE* build(TYPE A[], int n)原创 2012-05-08 11:49:51 · 610 阅读 · 0 评论