Skip to content

Instantly share code, notes, and snippets.

View Whosemario's full-sized avatar
😃

whosemario Whosemario

😃
View GitHub Profile
void Partition(int* numbers, int left, int right) {
if(right - left <= 0) return 0;
int value = numbers[right];
int ind = 0;
for(int i = left; i < right; ++i) {
if(numbers[i] < value) {
int tmp = numbers[i];
numbers[i] = numbers[ind];
numbers[ind++] = tmp;
}
void PushDown(int* numbers, int length, int index) {
int value = numbers[index];
while(index*2+1 < length) {
int t = index;
if(index*2+1 < length && numbers[index*2+1] > value) {
t = index * 2 + 1;
}
if(index*2+2 < length && numbers[index*2+2] > (t==index)? value : numbers[t]) {
t = index * 2 + 2;
}
@Whosemario
Whosemario / BubbleSort.cpp
Last active March 31, 2016 15:42
Bubble Sort
void BubbleSort(int* numbers, int length) {
if(numbers == NULL || length <= 1) return;
for(int i = length; i > 0; i--) {
for(int j = 0; j + 1 < length; j++) {
if(numbers[j] > numbers[j+1]) {
int tmp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = tmp;
}
}