전자전기 프로그래밍실습 HW7
- 최초 등록일
- 2014.09.26
- 최종 저작일
- 2014.04
- 9페이지/ 한컴오피스
- 가격 1,000원
목차
1. Introduction
2. Problem Statement
① Describe what is the problem
② Describe how do you solve the problem.
③ Draw a flowchart of your algorithm
3. Implementation
4. result
5. Conclusion & Evaluation
본문내용
1. Introduction
임의로 생성된 수 배열을 오름차순으로 정렬하는 프로그램을 작성한다. 이 때, 정렬하는 방법은 Bubble 정렬방식, Quick 정렬방식 두 가지를 이용한다.
Bubble Sort : 거품정렬. 두 연속된 데이터를 비교하여 정렬하는 방법이다. 두 수를 비교하였을 때 앞의 숫자가 더 큰 경우 다음 숫자와 자리를 바꾸며 정렬한다. 비교 시간이 Quick sort에 비해 길지만 코드구성이 비교적 간단하다.
Quick Sort : 데이터들 중에서 ‘피벗’을 하나 골라 ‘피벗’을 기준으로 앞에는 ‘피벗’값보다 작은 데이터들이, 뒤에는 ‘피벗’값보다 큰 데이터들이 배열되도록 한다. 그 후 ‘피벗’보다 작은 데이터 리스트를 대상으로 위의 과정을 다시 반복하고, ‘피벗’보다 큰 데이터 리스트를 대상으로 위의 과정을 다시 반복한다. 이 반복되는 작업은 더 이상 비교할 데이터가 없을 때 까지 정렬이 진행되면 중단된다. Bubble Sort나 다른 정렬 방식에 비해 매우 빠르게 동작한다.
2. Problem Statement
① Describe what is the problem
이번 실습에서는 void bubbleSort(int *list, int num);, void quickSort(int *list, int low, int high); 두 개의 함수를 작성해야 한다. 두 개의 함수 모두 임의로 만들어진 배열의 데이터를 각 각 버블정렬 방식과 퀵 정렬 방식을 이용하여 오름차순으로 정렬하는 함수이다.
② Describe how do you solve the problem.
메인 함수에서 getRandom();함수에 의해 사용자로부터 입력받은 만큼의 수 배열을 생성하므로 작성하려는 void bubbleSort();, void quickSort();함수 모두 생성된 배열을 인자로 가져야 한다. 버블정렬함수의 경우에는 추가로 사용자가 입력한 수를 인자로 갖고, 퀵 정렬함수는 배열의 처음 위치(0)와 끝 위치(n)을 인자로 갖는다.
참고 자료
없음