
Algorithm
LarryInTokyo
这个作者很懒,什么都没留下…
展开
-
冒泡排序 Bubble Sort
void bubbleSort(int numbers[], int array_size){ int i, j, temp; for (i = 0; i < (array_size - 1); i++) { for (j = (array_size - 1); j > i; j--) { if (numbers[j-1] > numbers[j]) {原创 2014-03-21 12:57:01 · 751 阅读 · 0 评论 -
二分查找 Binary Search
#include #define ARRAY_SIZE 7 /* size of array */int main(void){ int a[ARRAY_SIZE] = {1,2,3,4,5,6,7}; /* sorted array */ int left = 0; /* start key of index */ int right = ARRAY_SIZE;转载 2014-03-21 13:01:18 · 720 阅读 · 0 评论 -
汉诺塔实现(含数组修改)Implement of hanoi
汉诺塔的实现,包含伪代码,以及输出流程版本和修改数组版本。原创 2014-04-07 16:11:28 · 1394 阅读 · 0 评论 -
各种排序算法总结
1.选择排序:不稳定,时间复杂度 O(n^2) 选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 2.插入排序:稳定,时间复杂度 O(n^2) 插入排序的基本思想是,经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入L转载 2014-03-22 07:39:44 · 611 阅读 · 0 评论 -
归并排序 merge sort
void mergeSort(int numbers[], int temp[], int array_size){ m_sort(numbers, temp, 0, array_size - 1);}void m_sort(int numbers[], int temp[], int left, int right){ int mid; if (right > left)转载 2014-03-22 15:15:19 · 675 阅读 · 0 评论 -
快速排序 quick sort
void q_sort(int numbers[], int left, int right){ int pivot, l_hold, r_hold; l_hold = left; r_hold = right; pivot = numbers[left]; while (left < right) { while ((numbe原创 2014-03-22 14:18:27 · 845 阅读 · 0 评论 -
希尔排序 shell sort
void shellSort(int numbers[], int array_size){ int i, j, increment, temp; increment = 4; while (increment > 0) { for (i=0; i < array_size; i++) { j = i; temp = numbers[i]原创 2014-03-22 07:18:19 · 778 阅读 · 0 评论 -
选择排序 Selecttion Sort
templatevoid SelectionSort(TP *_arr, int n){ tStart = clock(); cout << "SelectionSort"; for (int i = 0; i < n; i++) { int minInx = i; for (int j = i+1; j < n; j++) { if (_arr[j] < _arr[原创 2014-03-21 12:59:39 · 685 阅读 · 0 评论 -
插入排序 Insertion Sort
templatevoid InsertionSort(TP *_arr, int n){ cout << "InsertionSort"; tStart = clock(); int i,j; for (i = 1; i < n; i++) { j = i; //交換要素のためのインデックス //条件(昇順)に一致しない場合は整列済みであるのでスキップして良い whil原创 2014-03-21 12:52:13 · 743 阅读 · 0 评论 -
斐波那契数列的实现 The implement of nth Fibonacci number
ll fib(ll n){ //recursion if(n < 1) return -1; if(n == 1 || n == 2) return 1; else return fib(n-1) + fib(n-2);}ll fib1(ll n){//iterative if(n < 1) return -1; if(n == 1 || n原创 2014-03-21 13:12:16 · 694 阅读 · 0 评论 -
生成不重复随机数
利用C++中的bitset来检查生成的随机数是否重复。原创 2015-01-09 23:23:30 · 979 阅读 · 0 评论