
실시간댓글
|
|
비쿠닌 | 2014-10-31 21:54
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t))
void Print (char *algo, int arr[], int n)
{
int i=0;
if(algo!= NULL)
{
printf("%s 정렬 알고리즘\n", algo);
}
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
if(algo==NULL)
{
printf("<--정렬된 데이터\n\n");
}
else
{
printf("<--원본 데이터\n");
}
}
void insertion(int arr[],int n)
{
int cur=0,i=0,j=0;
int t=0;
for(i=1;i<n;i++)
{
cur=arr[i];
for(j=i-1;(j>=0)&&(cur<arr[j]);j--)
{
arr[j+1]=arr[j];
}
SWAP(arr[j+1],cur,t);
}
return arr;
}
int main(void)
{
int arr[]={40,10,50,90,20,80,30,60};
int n=sizeof(arr)/sizeof(int);
int carr[100];
int i;
printf("배열 크기:%d \n",n);
for(i=0;i<n;i++)
{
carr[i]=arr[i];
}
Print("삽입",carr,n);
insertion(carr,n);
Print(NULL,carr,n);
}
여기서 왜 마지막 배열값이 바뀌질않는거죠...마지막 배열값 60이 계속그대로ㅠㅠㅠㅠ
살려주십쇼
비쿠닌
633
2,281,260
프로필 숨기기
1%