c++ 버블솔트(Bubble Sort)

Dev_Jen
|2023. 1. 10. 23:22
반응형
#include <iostream>  	//선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용 
using namespace std;    //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout 
// IT융합학부 2학년 1971070 이재은 버블정렬 


int main()				// 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
					//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
{
	int arr[5];				//배열 arr[]를 메모리값의 크기가 5인 배열 선언 
	int temp = 0;			// temp라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화 

	cout << "=====input=====" <<endl; 							//출력문 
	for(int i=0; i<5; i++){									//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++ 
		cout << i+1 << "번째 숫자 : "; 						//출력문 
		cin >> arr[i];										//arr[i] 배열에 값 입력 
	}	
	cout << "============data============" <<endl; 				//출력문 
	cout << "현재 들어간 숫자 : ";							//출력문 
	for(int i=0; i<5; i++){								//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로  0~4까지 1++ 
		cout << arr[i] << " "; 							//arr[i] 을 출력하고 띄어쓴다음 계속 다음것 출력 
	}
	cout << endl;							//줄 바꿈 
	
	cout << "============swap============" << endl;				//출력문 
		for(int j=0; j<4; j++){		//0~4까지 1씩 증가//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
			for(int i=0; i<4; i++){		//0~3까지 1씩 증가 //조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
				if(arr[i] > arr[i+1]){		//arr[i]가 a[i+1]보다 클때 실행
				temp = arr[i];		//temp, arr[i] 을 템프로 교환 0
				arr[i] = arr[i+1];		//arr[i] 와 arr[i+1]를 교환 
				arr[i+1] = temp;			//arr[i+1]을 temp와 교환 
					}
					cout << j+1 << " - " << i+1 << "번째 정렬 : ";		// for문이 2개이기 때문에 j+1 - i+1 번째로 출력해준다 
						for(int c=0; c<5; c++){							//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4 1++
						cout << arr[c] << " "; 					//arr[c] 출력 
				}
				cout << endl;				//줄 바꿈 
			}
		}
	
	cout << "=====data=====" << endl;				//출력문 
	for(int i=0; i<5; i++){							//조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식으로 0~4까지 1++ 
		cout << i+1 << "번째 숫자 - "<<arr[i] << endl;			//마지막 정렬된 코드 확인 
	}
	cout << "=====stop=====" << endl;					//출력문 
}
반응형

'C++' 카테고리의 다른 글

c++ 선형,이분탐색  (0) 2023.01.10
c++ 선택정렬  (0) 2023.01.10
c++ 배열의 배수 출력  (0) 2023.01.10
c++ 동물 클래스  (0) 2023.01.10
c++ 데이터 각도 변환  (2) 2023.01.10