Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2015/의사양반/0408

From ZeroWiki
Revision as of 07:18, 8 April 2015 by imported>장용운
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

참여자 명단

의사 장용운 11학번 카벅
환자 천준현 15학번 카벅
최지혁 카벅
박인서 출석

수업

진행

  1. 장소 : 6층 학회실
  2. 시간 : 11:30 ~ 14:00

내용

Pre-8강. Quick sort

  • 퀵소트 해부

코드

예제1

#include <stdio.h>
#pragma warning(disable:4996)

void quicksort(int*, int, int);
void printarr(int*, int, int);

int main(void) {
	int arr1[10] = { 4, 2, 1, 5, 3, 6, 2, 5, 3, 0 };
	int arr2[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
	int arr3[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
	int arr4[10] = { 0, 1, 1, 1, 0, 3, 2, 2, 1, 0 };

	printarr(arr1, 0, 9);
	quicksort(arr1, 0, 9);
	printarr(arr1, 0, 9);
	printf("\n====================\n");

	printarr(arr2, 0, 9);
	quicksort(arr2, 0, 9);
	printarr(arr2, 0, 9);
	printf("\n====================\n");

	printarr(arr3, 0, 9);
	quicksort(arr3, 0, 9);
	printarr(arr3, 0, 9);
	printf("\n====================\n");

	printarr(arr4, 0, 9);
	quicksort(arr4, 0, 9);
	printarr(arr4, 0, 9);
	printf("\n====================\n");

	return 0;
}

void quicksort(int* arr, int s, int e) {
	if (e - s < 1) return;

	int k = s;
	int t = 0;

	for (int i = s + 1; i <= e; i++) {
		if (arr[s] > arr[i]) {
			t = arr[k + 1];
			arr[k + 1] = arr[i];
			arr[i] = t;
			k++;
		}
	}
	t = arr[k];
	arr[k] = arr[s];
	arr[s] = t;
	

	quicksort(arr, s, k - 1);
	quicksort(arr, k + 1, e);
}

void printarr(int* arr, int s, int e) {
	int i;
	printf("Printing array.... { ");
	for (i = s; i < e; i++) {
		printf("%d, ", arr[i]);
	}
	printf("%d }\n", arr[e]);
}

숙제

  1. 이 페이지에 후기 작성하기!
  2. 오늘 공부한 개념 수업 페이지에 정리하기!
  3. Quicksort 완성하기

후기

  • 후기 작성 요령 : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요.
    • Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
*
*
*


숙제 제출

천준현

최지혁

박인서



새싹교실/2015 새싹교실/2015/의사양반