컴퓨터에서 나를 불편하게 하는 것들
2016-07-18 20:33:46

COM Surrogate : 컴퓨터 우클릭/속성/고급시스템 설정/고급 성능에 설정 클릭/시각효과/사용자지정/아이콘대신 미리보기로 표시를 해제하시면 됩니다. 이상 (진짜 됩니다.) (출처:네이버 지식인)

- 위 설명대로 하면 되고 요는 "아이콘대신 미리보기로 표시를 해제"

natsvc.exe detect.exe detect_service.exe [출처] natsvc.exe detect.exe detect_service.exe 실행못하게|작성자 evrmsps3

- 별도 폴더 만들어서 이름바꿔서 넣어버림

Application Frame Host 는 마이크로소프트 엣지(Microsoft Edge)의 관리격 프로세스 [출처] 프로세스 탐방기 ① - Application Frame Host|작성자 희망구름

- 꺼도 그만 안꺼도 그만

▼ more
할 일들
2016-07-15 10:34:26

회사, 학교에 폰 배터리 충전기 비치

학교에 자석 가져오기

방 벽지 주문

▼ more
Metadata kept in Windows cache, refused to mount” when I try to mount my NTFS drive?
2016-06-20 23:41:37

for dev in /dev/sd* ;do sudo ntfsfix $dev;done

▼ more
quick sort, heap sort and XORSWAP
2016-06-20 23:30:00

//등호 부등호는 너무헷갈린다 

//왜 heap sort 가 거의 3배 느린 것일까 뭘 잘못짠건지는 내일 보자 ㅠ

//XORSWAP 이건 복잡해도 외워야 할 것 같다. 속도가 거의 2배 차이난다 ㅎㅎ

#include <stdio.h> 

#include <stdlib.h> 

#include <time.h> 

#include <Windows.h>

#define N 10000000

#define XORSWAP(a, b) ((&(a) == &(b)) ? (a) : ((a)^=(b),(b)^=(a),(a)^=(b))) 

#define XOR

int a[N];

int heap[N + 1];

int heap_size;

inline void swap(int *x, int *y) {

    if (x != y) {

        *x ^= *y;

        *y ^= *x;

        *x ^= *y;

    }

}

/*

inline void swap(int *a, int * b) {

    int temp = *a;

    *a = *b;

    *b = temp;

}

*/

int partition(int start, int last) {

    int l = start;

    int r = last - 1;

    int pivot = a[start];

    while (l < r) {

        for (; a[l] <= pivot && l < last; l++);

        for (; a[r] > pivot; r--);

        if (l < r) {

            

#ifdef XOR

            XORSWAP(a[l], a[r]);

#else

            swap(&a[l], &a[r]);

#endif

        }

    }

#ifdef XOR

    XORSWAP(a[start], a[r]);

#else

    swap(&a[start], &a[r]);

#endif

   &nb\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0sp;return r;

}

void quicksort(int l, int r) {

    if (l<r) {

        int a = partition(l, r);

        quicksort(l, a);

        quicksort(a + 1, r);

    }

}

void heap_insert(int val) {

    heap[++heap_size] = val;

    

    for (int i = heap_size, p; i > 1;i=p) {

        p = i / 2;

        if (heap[i] < heap[p]) {

#ifdef XOR

            XORSWAP(heap[i], heap[p]);

#else

            swap(&heap[i], &heap[p]);

#endif

        }

    }

}

int heap_delete() {

    int pop = heap[1];

    heap[1] = heap[heap_size--];

    //resort

    for (int i = 1, c; i <= heap_size / 2; i = c) {

        c = i * 2;

        if (c + 1 > heap_size) {

#ifdef XOR

            XORSWAP(heap[i], heap[c]);

#else

            swap(&heap[i], &heap[c]);

#endif

        }

        else {

            if (heap[c] < heap[i] && heap[c + 1] < heap[i]) {

                if (heap[c] < heap[c + 1]) { 

#ifdef XOR

                    XORSWAP(heap[i], heap[c]);

#else

                    swap(&heap[i], &heap[c]); 

#endif

                }else {

#ifdef XOR

                    XORSWAP(heap[i], heap[c+1]);

                    c++;

#else

                    swap(&heap[i], &heap[++c]);

#endif

                    

                }

            }

            else if (heap[c] < heap[i]) {

#ifdef XOR

                XORSWAP(heap[i], heap[c]);

#else

                swap(&heap[i], &heap[c]);

#endif

       \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0     }

            else if (heap[c + 1] < heap[i]) {

#ifdef XOR

                XORSWAP(heap[i], heap[c+1]);

                c++;

#else

                swap(&heap[i], &heap[++c]);

#endif

                

            }

            else break;

        }

    }

    

    return pop;

}

void bmt_quick() {

    for (int i = 0; i<N; i++) a[i] = rand() % N;

    printf("Numbers were generated

");

    long start = GetTickCount();

    quicksort(0, N);

    printf("Quick Sort %d ms elapsed

", GetTickCount() - start);

    for (int i = 1; i<N; i++) if (a[i - 1] > a[i]) printf("error!

");

}

void bmt_heap() {

    heap_size = 0;

    for (int i = 1; i <= N; i++) a[i] = rand() % N;

    printf("Numbers are being inserted to heap and being deleted form heap.

");

    long start = GetTickCount();

    int pre, data;

    for (int i = 0; i < N; i++) heap_insert(a[i]);

    for (int i = 0; i < N; i++) {

        data = heap_delete();

        if (i> 1 && pre > data) printf(" pre[%d]: %d, data[%d]: %d error!

", i /2 , pre, i, data);

        pre = data;

    }

    printf("Heap sort %d ms elapsed

", GetTickCount() - start);

}

int main() {

    srand(time(NULL));

    bmt_quick();

    bmt_heap();

}

▼ more