算法
挥剑段天涯
吃饭,睡觉,敲代码
展开
-
快速排序
分两部分实现,函数sort()负责选定区间,函数Qsort()负责给选定区间的数值分大小class QuickSort { public: int Qsort(int* a,int low,int high){ int key = a[low]; while (low < high){ while (low < high && a[high] >= key)原创 2016-04-30 23:06:34 · 321 阅读 · 0 评论 -
堆排序
class HeapSort { public: void swap(int *A, int a, int b) { int temp = A[a]; A[a] = A[b]; A[b] = temp; } void adjustheap(int* A, int index, int length) {原创 2016-05-02 23:51:24 · 311 阅读 · 0 评论 -
希尔排序
#include <iostream> #include<algorithm> using namespace std;class ShellSort{ public: void swap(int *A, int i, int j) { int temp = A[i]; A[i] = A[j]; A[j] = temp; }原创 2016-05-04 19:40:33 · 273 阅读 · 0 评论 -
计数排序
#include <iostream> #include<algorithm> using namespace std;class CountingSort { int* jishu(int* A, int n, int k){ int* a = new int[k + 1]; //A[6],a[21] for (int i = 0; i < k原创 2016-05-05 07:40:19 · 310 阅读 · 0 评论 -
基数排序
#include <iostream> #include<algorithm> using namespace std;class RadixSort { public: int* radixSort(int* A, int n) { int index[10]; int** c = new int*[10]; for (size_t i =原创 2016-05-05 08:33:15 · 298 阅读 · 0 评论 -
冒泡排序的4种for循环写法
for(i=0;i9;i++) { for(j=0;j<=i;j++) if(a[j]>a[j+1]) { t=a[j+1];a[j+1]=a[j];a[j]=t; } } for (int i = 1; i count; i++)原创 2016-04-19 18:27:18 · 2535 阅读 · 0 评论 -
小范围排序
#include <iostream> #include<algorithm> #include <vector> using namespace std;class ScaleSort { public: int* sortElement(int* A, int n, int k) { vector<int> B(k); int i, j;原创 2016-05-08 19:00:24 · 318 阅读 · 0 评论