티스토리 뷰
#include<stdio.h>
#include<stdlib.h> // rand(), srand() 함수를 사용하기 위한 헤더
#include<time.h> // time(), clock() 함수를 사용하기 위한 헤더
int N = 100000; // 개수 변수 (100000개의 숫자 저장한다)
void selection_sorting(int data[], int n) // Selection Sorting 함수 (오름차순)
{
int i, j;
int temp; // 임시 변수
for(i = 0; i < n; i++) // 배열의 기준값 설정
{
for(j = i + 1; j < n; j++) // 배열의 비교값 설정 (기준값 다음 값부터 비교)
{
if(data[i] > data[j]) // 해당 배열에서 최대값인 경우 위치 변경
{
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
}
void print_array(int data[], int n) // 배열 출력 함수
{
int i;
for(i = 0; i < n; i++)
{
printf("%3d ", data[i]);
}
}
int main(void)
{
int i;
double start, end;
int arr[100000]; // 총 100000개의 변수가 들어갈 배열을 확보한다
start = clock(); // 시작 시간 저장
srand(time(NULL)); // 난수 발생기를 초기화 (time(NULL)은 현재 시간을 반환하는 함수)
for(i = 0; i < N; i++) // 총 100000(N)개의 10000(limit)이하의 난수를 생성한다
{
arr[i] = rand() % 10000;
}
printf("■■■■■■■■ 정렬 전 ■■■■■■■■ \n");
print_array(arr, N); // 정렬 전의 배열을 출력한다
printf("\n\n");
printf("■■■■■■■■ 정렬 후 ■■■■■■■■ \n");
selection_sorting(arr, N); // Selection Sorting을 이용해 배열을 오름차순으로 정렬한다
print_array(arr, N); // 정렬 후의 배열을 출력한다
printf("\n\n");
end = clock(); // 종료 시간 저장
printf("elapsed time is %.2f sec \n", (end - start)/1000); // 연산에 걸린 시간을 출력한다
return 0;
}
'헉!! > C언어' 카테고리의 다른 글
110330 (0) | 2011.03.30 |
---|---|
Line Ending - CR+LF / LF / CR (0) | 2010.11.17 |
- Total
- Today
- Yesterday
- 아이폰 개발
- 자바스크립트
- JSP
- Java
- Objective C
- iOS 개발
- 오브젝티브 C
- MySQL
- Spring Framework
- SQL
- JavaScript
- 티스토리챌린지
- IT
- Object C
- MAC OSX 10.7
- Programming
- 아이폰
- zero
- 오브젝트 C
- jQuery
- 오블완
- tomcat
- iPhone
- 제이쿼리
- Spring
- 아이폰 어플리케이션
- 자바
- oracle
- Objective-C
- iBATIS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |