原创 c++ 實現十三個排序方法 附測試結果加上簡單講解(更新中)

數據測試的種子爲 1003166545645613long long seed = 1003166545645613; srand(seed);測試數據都是隨機生成的,規模爲個數字stl的sort用了13s排序中的一個小優化,把swap函數

原创 c++ 實現遞歸/非遞歸二叉樹遍歷

TreeNode數據結構struct TreeNode { int val; TreeNode * left; TreeNode * right; TreeNode(const int & _val = int(), TreeNod

原创 洛谷 P2249 【深基13.例1】查找

P2249 【深基13.例1】查找常規版本(400+ms)#include <iostream> #define MAXN 1000010 using namespace std; int a[MAXN]; int main() { io

原创 洛谷 P1102 A-B 數對

P1102 A-B 數對二分查找解法(100+ms)#include <cstdio> #include <algorithm> #define MAXN 200020 using namespace std; int a[MAXN]; i

原创 c++ 舞蹈鏈算法求解數獨問題 控制檯版本 帶註釋

#include <iostream> #include <vector> #include <algorithm> #include <unordered_map> #define DELPOINTER(p) if(nullptr!=(p

原创 c++ 隨機生成數獨(不保證唯一解)

給出一個最簡單的生成數獨初盤的程序,不保證有唯一解,終盤的正確性通過填充的過程來確定,可以用舞蹈鏈算法求解該數獨得到其中一個解隨機生成的方法就算交換行和列然後隨機挖洞這裏有一點要注意的就是交換的行和列必須處於同一宮中,要不然交換之後保證不了

原创 c++ spfa 鏈式前向星版本加上SLF優化版本的實現

普通版本#include <iostream> #include <queue> #include <cstring> #include <algorithm> #include <cstdio> #include <limits.h> c

原创 c++ 實現變進制數

#include <iostream> #include <memory> #include <cstdlib> #include <cstdio> #include <cstring> #include <string> #include

原创 位運算小技巧總結(更新中)

想到哪寫到哪交換兩個數字void swap(int & a, int & b){ a ^= b; b ^= a; a ^= b; }判斷奇偶if(1 == (n & 1)) // 奇數 if(0 == (n &

原创 藍橋杯_算法訓練_最大最小公倍數

試題 算法訓練 最大最小公倍數提交此題資源限制時間限制:1.0s   內存限制:256.0MB問題描述已知一個正整數N,問從1~N中任選出三個數,他們的最小公倍數最大可以爲多少。輸入格式輸入一個正整數N。輸出格式輸出一個整數,表示你找到的最

原创 藍橋杯_算法訓練_區間k大數查詢

試題 算法訓練 區間k大數查詢提交此題資源限制時間限制:1.0s   內存限制:256.0MB問題描述給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。輸入格式第一行包含一個數n,表示序列長度。第二行包含n個正整數,表示給定

原创 生成黑白相間的網格(位運算)

import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JFrame; import java

原创 單鏈表實現大數階乘

單鏈表通過結構體表示struct ListNode { int data; ListNode* next; ListNode(int data) { this->data = data; this->next = nullpt

原创 java實現2048

修改row和col可以改變大小,如果棋盤太小可以更改frame的長和寬按 a 可以讓電腦按上左下右的規則一直運行到遊戲結束 // 暫時不知道怎麼變成動態的,並且row和col大於6時就會運行很久上下左右都是通過先合併,再移動的方式實現的 /

原创 hdu_problem_2098_分拆素數和

先用篩選法找素數打表,然後從小到大開始判斷#include<iostream>usingnamespacestd;intPrime[1230];intmain(){intcount=0;bool*isPrime[10000];memset(