常見的排序問題(一)
阿新 • • 發佈:2019-01-28
#include <stdio.h>
void bublesort (int a[],unsigned int n)
{ bool flag=false;// 通過加標誌位減少在資料結構較好時的可能的執行次數
int i=0,j=0;
int temp=0;//接下來的巢狀的for迴圈完成了氣泡排序的核心工作
for (;i<n;i++)
{ flag=false;
for (j=1;j<n-1;j++)
{
if (a[j]<a[j-1])
{ flag=true;
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
if (flag==false)
{
break;
}
}
}
//接下來呼叫後檢驗一下這個函式
int main ()
{
int test[]= {14,67,35,98,75,92,65,} ;
unsigned int n;
n = sizeof (test)/ sizeof(int);
int i=0;
bublesort (test,n);
printf ("After buble sort:\n");
i=0;
while (i<n)
printf ("%3d",test[i++] );
return 0;
void bublesort (int a[],unsigned int n)
{ bool flag=false;// 通過加標誌位減少在資料結構較好時的可能的執行次數
int i=0,j=0;
int temp=0;//接下來的巢狀的for迴圈完成了氣泡排序的核心工作
for (;i<n;i++)
{ flag=false;
for (j=1;j<n-1;j++)
{
if (a[j]<a[j-1])
{ flag=true;
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
if (flag==false)
{
break;
}
}
}
//接下來呼叫後檢驗一下這個函式
int main ()
{
int test[]= {14,67,35,98,75,92,65,} ;
unsigned int n;
n = sizeof (test)/ sizeof(int);
int i=0;
bublesort (test,n);
printf ("After buble sort:\n");
i=0;
while (i<n)
printf ("%3d",test[i++] );
return 0;