선택정렬 - 변동포인터 이용
핫보라
2023.04.01
선택정렬을 하는데 변동포인터질문 요약 :선택정렬을 하는데 변동포인터 이용하는 방법을 모르겠어요.질문 내용 :
학교에서 고정포인터와 변동포인터를 배웠습니다.
고정포인터보다 변동포인터가 너무 어려워서요.
정렬할 때 비교하는 부분이 이해가 안되네요.
빨간색으로 표시한 부분이 변동포인터로 바꾼 것인데.
정렬이 안되요. 주소값이 바뀌는 건 알겠는데ㅜㅜ
정렬을 하려면 어떻게 해야할까요?
그리고 어떤 원리로 결과값이 나오는지도 설명해주시면 감사하겠습니다ㅜㅜ
(질문 2개 답변 좀 ㅜㅜ)
5개 정수 포인터로 정렬(선택정렬 - 변동포인터)
#include stdio.h
void main()
{
int a[5],i,tmp,j,*ap;
ap=a;
for(i=0;i5;i++)
{
scanf(%d,&a[i]);
}
for(j=0;j4;j++)
{
for(i=j+1;i5;i++)
{
if(*(ap+j)*(ap+i))
{
tmp=*(++ap);
*(ap+i)=*(++ap);
*(++ap)=tmp; //예를 들어 입력해서 출력하면 입력 :1 52 3 6 출력 : 1 5 2 5 6 요렇게 됩니다ㅜㅜ
printf(ap[%d]주소:%d\n,i,ap);
}
}
}
for(i=0;i5;i++)
{
printf(%d\n,a[i]);
}
}