본문내용
Ⅰ. 선택정렬 프로그램 작성
1. 선택정렬 알고리즘 개요.
(1) 선택정렬의 정의
선택정렬이라 함은 주어진 리스트의 데이터를 오르차순으로 정렬하는 경우 리스트의 첫 데이터를 시작으로 가장 작은 데이터를 탐색하여 리스트의 앞으로 이동시키면서 순차적으로 정렬해 나가는 데이터 정렬방식을 말한다.
(2) 선택정렬의 방식
선택정렬을 하기 위해서는 리스트의 첫 인덱스를 기준으로 최소값을 임의로 설정하여 주고, 지정된 데이터의 이후에 위치한 데이터 중에 더 작은 데이터가 있으면 교환해주는 방식으로 리스트를 처음부터 끝까지 순차적으로 탐색하면서 정렬 해야한다.
따라서 초기의 임의 데이터를 설정해주기 위한 변수 int min을 지정해주고 for문을 이용하여 탐색해 나가면서 최소값을 검색해준다. 이를 코드로 표현하면 아래와 같다.
min = i; // 정렬을 시작할 리스트 인덱스를 지정함.
for(j = i+1; j < n; j++) // 정렬할 인덱스 이후의 데이터 중 작은 값을 찾음.
{
if(list[j] < list[min]) // 현재 지정된 최소값보다 작은 데이터를 발견하면
min = j; // 그 인덱스를 다시 지정.
}
temp = list[i];
list[i] = list[min];
list[min] = temp; // 발견된 최소값의 데이터를 정렬할 인덱스로 이동.
1. 선택정렬 알고리즘 개요.
(1) 선택정렬의 정의
선택정렬이라 함은 주어진 리스트의 데이터를 오르차순으로 정렬하는 경우 리스트의 첫 데이터를 시작으로 가장 작은 데이터를 탐색하여 리스트의 앞으로 이동시키면서 순차적으로 정렬해 나가는 데이터 정렬방식을 말한다.
(2) 선택정렬의 방식
선택정렬을 하기 위해서는 리스트의 첫 인덱스를 기준으로 최소값을 임의로 설정하여 주고, 지정된 데이터의 이후에 위치한 데이터 중에 더 작은 데이터가 있으면 교환해주는 방식으로 리스트를 처음부터 끝까지 순차적으로 탐색하면서 정렬 해야한다.
따라서 초기의 임의 데이터를 설정해주기 위한 변수 int min을 지정해주고 for문을 이용하여 탐색해 나가면서 최소값을 검색해준다. 이를 코드로 표현하면 아래와 같다.
min = i; // 정렬을 시작할 리스트 인덱스를 지정함.
for(j = i+1; j < n; j++) // 정렬할 인덱스 이후의 데이터 중 작은 값을 찾음.
{
if(list[j] < list[min]) // 현재 지정된 최소값보다 작은 데이터를 발견하면
min = j; // 그 인덱스를 다시 지정.
}
temp = list[i];
list[i] = list[min];
list[min] = temp; // 발견된 최소값의 데이터를 정렬할 인덱스로 이동.
키워드
추천자료
98년전산직 시험
튜링머신
[C언어] 배열을 이용한 희소행렬 곱셈 프로그램
자료구조 정리
[알고리즘요약, 알고리즘] 알고리즘 요점정리 서브노트
[알고리즘][유전자알고리즘][뼈나이측정알고리즘][동기알고리즘][에지디텍션알고리즘]알고리...
[알고리즘 요약, 알고리즘] 알고리즘 요점정리 서브노트
2012년 1학기 알고리즘 출석대체시험 핵심체크
알고리즘 숙제 - 여러분 앞에 약 10000장의 이름(한글)표가 쌓여 있습니다. 여러분이 할 일은...
2014년 1학기 알고리즘 교재전범위 핵심요약노트
2014년 1학기 알고리즘 출석대체시험 핵심체크
2014년 1학기 알고리즘 기말시험 핵심체크
2017년 1학기 알고리즘 교재전범위 핵심요약노트
2017년 1학기 알고리즘 기말시험 핵심체크
소개글