목록정렬 (4)
기린의 기록을 위한 공간
[문제] https://www.acmicpc.net/problem/2751 [풀이]퀵정렬 이용 #include int number, data[1000001]; void quickSort(int *data, int start, int end){ if(start>=end){ return; } int key = start; int i = start+1, j= end, temp; while(i start){ j--; }if(i>j){ temp = data[j]; data[j]=data[key]; data[key]=temp; }else{ temp=data[i]; data[i]=data[j]; data[j]=temp; } } quickSort(data,start,j-1); quickSort(data,j+1,end)..
[삽입정렬]각 숫자를 필요할때만 적당한 위치에 삽입하는 방법 [문제] 1,10,5,8,7,6,4,3,2,9 를 순서대로 정렬하세요[풀이] #include int main(void) {int i, j, temp;int array[10] = { 1,10,5,8,7,6,4,3,2,9 };for (i = 0; i array[j + 1]) { //왼쪽이 오른쪽보다 크면 위치를 바꿔줌temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;j--;}}for (i = 0; i < 10; i++) {printf("%d", array[i]);}} ..
[버블정렬] 바로 옆에 있는 값과 비교해서 더 작은 값을 앞으로 보내준다.(가장큰 값을 맨 뒤로 보내줌)[문제] 1 10 5 8 7 6 4 3 2 9 를 순서대로 정렬하세요[풀이] #include int main(void) {int i, j, temp;int array[10] = {1,10,5,8,7,6,4,3,2,9};for (i = 0; i array[j + 1]) {temp = array[j+1];array[j+1] = array[j];array[j] = temp;}}}for (i = 0; i < 10; i++) {printf("%d", array[i..
[선택정렬]가장 작은 값을 선택해서 앞으로 보내준다 [문제] 1,10,5,8,7,6,4,3,2,9 를 순서대로 정렬하세요[풀이] #include int main(void) {int i, j, min, index, temp;int array[10] = { 1,10,5,8,7,6,4,3,2,9 };for (i = 0; i array[j]) { //배열중에 min보다 작다면min = array[j]; //min에 넣어줌index = j; //해당 위치값을 인덱스에 넣어줌//여기까지 한번탐색했을때 가장작은값을 선택함}}//스와핑 ..