C++
c++ 선택정렬
Dev_Jen
2023. 1. 10. 23:24
반응형
#include <iostream> //선언부 컴파일에 접근을해서 선언파트에 있는 걸 처리해서 사용
using namespace std; //std라는 소속을 알려줄 필요가 다음부터 없는것 등록을 했을경우 ex( std::cout
// IT융합학부 2학년 1971070 이재은 선택정렬
int main(){ // 몸체부, 메인 함수 // int 를 쓰는이유는 비정상적인 오류를 제외 시키는것
//void를 써도 상관없지만 오류가 날수도있고 계속 컴퓨터가 값을 기다린다
int a[4]={5,3,2,1}; //arr 이라는 배열이 가르키는 주소 메모리 값을 4로 선언과 동시에 5,3,2,1로 초기화
int data=0; //data 이라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화
int temp=0; //temp라는 변수가 가르키는 주소 값에 메모리안에 0을 선언 0으로 초기화
cout << "============data============" <<endl; //데이터값 출력문, 줄바꿈
for(int i=0;i<4;i++){ //0 ~ 3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
cout<< i+1 << "번째 배열: "; //i+1 번째 배열 값 출력문 i는 0부터 이기 문
cout<<a[i] << endl ; //배열값 출력문
}
cout << "============swap============" << endl; //솔트 시작 출력문, 줄바꿈
for (int i=0; i<2; i++){ //0 ~ 1까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
data=i; // data값에 i대입 사실상 data가 가르키는 주소값의 메모리에 i값 대입
for (int j=i+1; j<4; j++){ //i+1 ~ 3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
if (a[j] < a[data]) //a[j] 배열 값이 a[data]보다 작다면 if조건문 실행
data = j; // data값에 j대입 사실상 data가 가르키는 주소값의 메모리에 j값 대입
}
temp = a[i]; //temp 배열 값에 주소가 가르키는 메모리 값에 a[i] 대입
a[i] = a[data]; //a[i] 배열 값에 주소가 가르키는 메모리 값에 a[data] 대입
a[data] = temp; //a[data] 배열 값에 주소가 가르키는 메모리 값에 temp 대입 솔트문
for(int i=0;i<4;i++){ //0~3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
cout<<a[i]<<" "; //솔트 값 출력문
}
cout<<endl; //줄바꿈
}
cout<<endl<<"최종 배열 값:"; //최종 배열 값 출력문
for(int i=0;i<4;i++){ //0 ~ 3까지 1++ 조건식이 트루일때만 실행 그리고 문장을 갔다가 증감식을가고 다시 조건식
cout<<a[i]<<" "; //최종 배열 값 출력문
}
return 0; //리턴값 0
}
반응형