Skip to content

Instantly share code, notes, and snippets.

View h0hmj's full-sized avatar

h0hmj h0hmj

View GitHub Profile
@h0hmj
h0hmj / gist:5596ca1b581e4432842c4dff935cbeda
Last active October 4, 2018 12:28
3d miniproject1 mask
int mask[9][9];
void mask_gen_mag() {
int i, j;
for (i = 0; i < 9; i++) {
for (int j = 0; j < 9; ++j) {
if (j == 0)mask[i][j] = (9 - i) % 9;
else if (j == 3)mask[i][j] = (15 - i) % 9;
@h0hmj
h0hmj / gist:be9dd8489ef9c2e7b120de8d957947f9
Created October 12, 2017 11:02
3d miniproject1 basic render
//Combine the multiple images into a single integrated image
void render() {
int x, y, z, v, m, n;
z = COL * 3;
for (x = 0; x < ROW; x++) {
for (y = 0; y < z; y++) {
back_buf[x][y] = image[mask[x % 9][y % 9]][x][y];
}
@h0hmj
h0hmj / userstyle.styl
Created November 6, 2017 16:39
stylus
CONFIG = {
'Arial Black' : 'ENG',
'Arial' : 'ENG',
'Calibri' : 'ENG',
'Cambria' : 'ENG',
'Candara' : 'ENG',
'Comic Sans MS' : 'ENG',
'Constantia' : 'ENG',
'Corbel' : 'ENG',
'Georgia' : 'ENG',
@h0hmj
h0hmj / gist:59bcf9134e1370400226b3ee3efd7382
Created January 17, 2018 06:13
Compile OpenGL program in macOS 10.13.2
clang++ -framework glut -framework opengl main.cpp -o main
@h0hmj
h0hmj / gist:fde0100659ebf26b262785204f7a06ac
Created February 8, 2018 15:22
stylish for viewing csdn blog
* {
font-family: "PingFang SC" !important;
font-size: 18px !important
}
aside {
display: none !important;
}
main {
width: auto !important;
}
@h0hmj
h0hmj / singleton_dcl.cpp
Created March 15, 2018 07:41
double checked locking singleton
#include <cstdlib>
#include "Mutex.h"
#include "NonCopyable.h"
template <typename T>
class Singleton : NonCopyable {
public:
static T& instance() {
if (val_ == NULL) {
MutexLockGuard lock(mutex_);
@h0hmj
h0hmj / bubble_sort.cpp
Created March 19, 2018 08:02
bubble sort
#include <utility>
#include <vector>
void bubble_sort(std::vector<int>& nums) {
for (int i = 0; i < nums.size(); i++) {
for (int j = nums.size() - 1; j > i; j--) {
if (nums[j] < nums[i]) {
std::swap(nums[i], nums[j]);
}
}
}
@h0hmj
h0hmj / selection_sort.cpp
Created March 19, 2018 08:07
selection sort
#include <utility>
#include <vector>
void selection_sort(std::vector<int>& nums) {
for (int i = 0; i < nums.size(); i++) {
int min = i;
for (int j = i + 1; j < nums.size(); j++) {
if (nums[j] < nums[min]) {
min = j;
}
}
@h0hmj
h0hmj / insertion_sort.cpp
Created March 19, 2018 08:16
insertion sort
#include <utility>
#include <vector>
void insertion_sort(std::vector<int>& nums) {
for (int i = 0; i < nums.size(); i++) {
int j = i;
while (j > 0 && nums[j] < nums[j - 1]) {
std::swap(nums[j], nums[j - 1]);
j--;
}
}
@h0hmj
h0hmj / quick_sort.cpp
Last active March 19, 2018 10:04
quick sort
#include <utility>
#include <vector>
void quick_sort(std::vector<int>& nums, int l, int r) {
if (l >= r) {
return;
}
// pivot is left
int tmp = l;