@ 16. 1 ~ 17. 1/자료구조

단순한 정렬 알고리즘(버블, 선택, 삽입)

namoeye 2014. 1. 27. 21:35
//버블정렬
void BubbleSort(int arr[], int n){
	int i, j;
	int temp;

	for(i=0;i<n;i++){
		for(j=0;j<(n-i)-1;j++){
			if(arr[j]>arr[j+1]){
				temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;
			}
		}
	}
}

//선택정렬
void SelSort(int arr[], int n){
	int i, j;
	int maxIdx;
	int temp;

	for(i=0;i<n-1;i++){
		maxIdx=i;
		for(j=i+1;j<n;j++){
			if(arr[j] < arr[maxIdx]){
				maxIdx=j;
			}
			temp=arr[i];
			arr[i]=arr[maxIdx];
			arr[maxIdx]=temp;
		}
	}
}

//삽입정렬
void InserSort(int arr[], int n){
	int i, j;
	int temp;

	for(i=1;i<n;i++){
		temp=arr[i];
		for(j=i-1;j>=0;j--){
			if(arr[j]>temp){
				arr[j+1]=arr[j];
			}
			else
				break;
		}
		arr[j+1]=temp;
	}
}