算法
xiao_gang2008
这个作者很懒,什么都没留下…
展开
-
插入排序
void insertSort(int *A,int len){ if(A==NULL||len return; for(int i = 1;i int temp = A[i]; int index = i-1; while(index>=0&&A[index]>temp){ A[index+1] = A[index]; --index; } A[index+1] = te原创 2014-09-30 14:37:29 · 285 阅读 · 0 评论 -
冒泡排序
#include #include #include using namespace std; //冒泡排序,稳定 void bubSort(int *A,int len){ if(A==NULL||len return; for(int i=1;i for(int j=1;j if(A[j-1]>A[j]){ int temp; temp = A[j原创 2014-09-30 14:39:41 · 277 阅读 · 0 评论 -
堆排序
#include #include #include using namespace std; //找到两个数中的较大者 int max(int *pA,int i,int j){ if(*(pA+i)>*(pA+j)) return i; else return j; } void swap(int *A,int i,int原创 2014-09-30 14:41:55 · 255 阅读 · 0 评论 -
快速排序
#include #include #include using namespace std; void swap(int *A,int i,int j){ int temp; temp = A[i]; A[i] = A[j]; A[j]=temp; } // 堆调整 void heapAdjust(int A[],int len,int i){原创 2014-09-30 14:46:09 · 296 阅读 · 0 评论 -
希尔排序
//希尔排序,分成d组 void shellInsert(int A[],int len,int d){ for(int i=0;i for(int j=i+d;j int temp=A[j]; int index=j-d; while(index>=i&&A[index]>temp){ A[index+d]=A[index]; index-=d; } A[index+d原创 2014-09-30 14:50:21 · 343 阅读 · 0 评论 -
归并排序
#include #include #include using namespace std; void swap(int *A,int i,int j){ int temp; temp = A[i]; A[i] = A[j]; A[j]=temp; } //快速排序 int partion(int A[],int len,int start,int原创 2014-09-30 14:47:41 · 274 阅读 · 0 评论 -
选择排序
#include #include #include using namespace std; void insertSort(int *A,int len){ if(A==NULL||len return; for(int i = 1;i int temp = A[i]; int index = i-1; while(index>=0&&A[index]>te原创 2014-09-30 14:39:21 · 255 阅读 · 0 评论 -
输出一个数的全排列
//求出所有的排列组合 #include using namespace std; void swap(int *a,int *b); void fullLine(int A[],int len,int index); void fullLine(int A[],int len); int count =0; int main(int argc, char**原创 2014-09-30 14:53:55 · 417 阅读 · 0 评论