原创 實驗三 自底向上的語法分析
// 首先,感謝孫同學的Java版代碼,讓我有了參考 // 下面上C++代碼,文件操作部分自行改寫即可 #include <iostream> #include <fstream> #include <cstring> #inclu
原创 堆排序,heapSort
// 堆排序,heapSort // O(n*logn),不穩定 #include <cstdio> void PrintArray(int array[], int begin, int end); void HeapAdjust(
原创 八大排序
直接插入排序 希爾排序 簡單選擇排序 堆排序 冒泡排序 快速排序 歸併排序 基數排序 參考博客:http://blog.csdn.net/zuochao_2013/article/details/79249234
原创 遞歸,八皇后問題
#include <cstdio> #include <iostream> #include <cstdlib> using namespace std; int cnt = 0; int n = 8; int P[10] = {0};
原创 實驗二 自上而下的語法分析
// 首先,感謝孫同學的Java版代碼,讓我有了參考 // 下面上C++代碼,文件操作部分自行改寫即可 #include <iostream> #include <fstream> #include <cstring> #include
原创 POJ 1182(並查集)
《挑戰程序設計競賽》,初級篇–樹 // 並查集 #include <iostream> #include <cstdio> using namespace std; #define maxn 50050 int p[maxn]; int
原创 基數排序,radixSort
// radixSort,基數排序 // O(d(r+n)),穩定 #include <cstdio> int getDigit(int i, int d) { int val; while(d--) {
原创 大整數,四則運算
// 四則運算,負數情況未處理 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; struct bignum { i
原创 希爾排序,shellSort
// 希爾排序,shellSort // O(n^1.3),不穩定 #include <cstdio> void shellSort(int arr[], int length) { int d = length/2;
原创 歸併排序,mergeSort
// 歸併排序,mergeSort // O(n*logn),穩定 #include <cstdio> void merge(int arr[], int l, int mid, int r); void mergeSort(int
原创 PAT A1025,PAT Ranking (25)
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; struct Student { char id[20]; i
原创 並查集,union-find sets
《挑戰程序設計競賽》,初級篇–樹 // union-find sets #include <iostream> #include <cstdio> using namespace std; #define maxv 110 int pa
原创 STL,二叉搜索樹(set)
《挑戰程序設計競賽》,初級篇–樹 // set初步使用 #include <cstdio> #include <set> using namespace std; int main() { set<int> s; fo
原创 插入排序,insertSort
// 插入排序,insertSort // O(n^2),穩定 #include <cstdio> void insertSort(int *arr, int n) { for(int i = 1; i < n; i++)
原创 快速排序,quickSort
// 快速排序,quickSort // O(n*logn),不穩定 #include <cstdio> int partition(int arr[], int l, int r) { int i = l, j = r, x