퀵정렬질문
초록이
#include stdio.h
#include string.h
#define swap(a,b) {int t; t=a; a=b; b=t;}
void qsort(char *ar,int num)
{
int left,right;
char key;
if(num=1)
return;
key=ar[num-1];//마지막 값을 기준으로 설정
left=0;//왼쪽 처음
right=num-2;//오른쪽처음(마지막 값이 기준이므로 기준값보다 -1한 값이 오른쪽의 처음)
while(left=right){ //left값이 right을 교차할떄까지
while(ar[left]key)
left++;//오른쪽가며 key보다 클때 멈춤
while(ar[right]key)
right--;//왼쪽으로 가며 key보다 작을때 멈춤
swap(ar[left],ar[right]);//값 바꿈
}
swap(ar[left],ar[num-1]);// 맨마지막에 있던 기준을 마지막 left배열값과 바꿈
qsort(ar,left); // 두개로 나눠진 배열의 왼쪽을 퀵정렬
qsort(ar+1+left,num-left-1);//오른쪽을 퀵정렬
}
int main()
{
char str[]=greathuman;
qsort(str,strlen(str));
printf(%s\n,str);
return 0;
}
-----------------
퀵정렬인데요 실행하면 강제종료되는데 이유가몬지.. 소스 고쳐야되는곳좀 고쳐주세여 ㅠ
-
패틱
무한루프 도는거 같은대요...
정확한의도는 모르겟지만.. 무한루프 도는 구간은 여기에요
while(left=right){ //left값이 right을 교차할떄까지
while(ar[left]key)
left++;//오른쪽가며 key보다 클때 멈춤
while(ar[right]key)
right--;//왼쪽으로 가며 key보다 작을때 멈춤
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2654574 | 소스 추가좀 부탁드립니다. (등수 출력) | 크리미걸 | 2024-05-12 |
2654550 | 피보나치수열. (3) | 중독적 | 2024-05-11 |
2654521 | c초보 빙고관련게임... | 달콤이 | 2024-05-11 |
2654491 | 10진수를 2진수로 바꾸는법 (8) | 아잉 | 2024-05-11 |
2654412 | 빅오를 구하고 싶어요~ | 애기 | 2024-05-10 |
2654381 | 혼자 연구하는 c/c++ 질문 | 아잉 | 2024-05-10 |
2654352 | 행렬크기를 scanf로 입력받을수도 있나요..? | VanilLa | 2024-05-10 |
2654293 | 첫시작값과 끝값의 사이에 존재하는 정수들의 합을 구하는 것 (5) | 해긴 | 2024-05-09 |
2654185 | 64bit 환경에서 자료형의 크기가 좀궁그해요(완료) 더궁금한게 생겻어요(추가) (2) | 빈길 | 2024-05-08 |
2654152 | 확장자 exe로 변경 (1) | 한 | 2024-05-08 |
2654128 | c언어 간단하게 자판기만들려는데 ㅜㅜ | 유1혹 | 2024-05-08 |
2654074 | 배열에 들어있는값을 포인터에 옮기고 싶어요.. | 소라 | 2024-05-07 |
2654043 | 이차원 배열에 있는 값들 더하기.. | 선아 | 2024-05-07 |
2654011 | c언어 대문자소문자, 소문자대문자 변형하기, | 샤르 | 2024-05-07 |
2653985 | 실수 자료형 표현범위있잖아요 (1) | 패틱 | 2024-05-06 |
2653957 | 뭐가틀린건가요?.. (2) | 볼1매그녀 | 2024-05-06 |
2653934 | malloc을 이용한 출력 (1) | 하예 | 2024-05-06 |
2653906 | 숫자 야구 게임인데요.. (2) | 상큼한캔디 | 2024-05-06 |
2653883 | 구조체 질문이요.. 연결리스트. (1) | 별 | 2024-05-05 |
2653802 | 배열에 저장된 데이터와 원하는 데이터비교하는것좀.. | 리카 | 2024-05-05 |