常見排序c語言實現
void BubbleSort(int R[],int n) //冒泡排序 時間復雜度O(n2)
{
int i,j,temp,flag;
for(i = n;i>=2;i--)
{
flag = 0;
for(j=2;j<=i;j++)
{
if(R[j-1]>R[j])
{
temp = R[j-1];
R[j-1] = R[j];
R[j] = temp;
flag = 1;
}
}
if(flag == 0 )
{
return;
}
}
}
void InsertSort(int R[],int n) //直接插入排序 時間復雜度O(n2)
{
int i,j,temp;
for(i=2;i<=n;i++)
{
temp = R[i];
j = i-1;
while(j>=1 && R[j]>temp)
{
R[j+1] = R[j];
j--;
}
R[j+1] = temp;
}
}
void QuikSort(int R[],int l,int r) //快排 時間復雜度O(nlogn)
{
int i,j,temp;
i = l;
j = r;
if(li && R[j]>temp) --j; //倒序查找下一個小於temp的值,與R[i]交換
if(i