C語言-交換排序(Swap Sort)

2020-08-11 22:43:02

1.氣泡排序(Bubble Sort):

void BubbleSort(int *r)
{
	int i,j;
	
	for(i=0;i<Maxsize;i++)
		for(j=1;j<Maxsize-i;j++)
			if(r[j-1]>r[j])
				Swap(r[j-1],r[j]);
} 

2.升級版氣泡排序:

void BubbleSort2(int *r)
{
       int j,k;
       Bool flag;//c語言沒有布爾型別,此處寫的是python的語法!C語言自行轉換成0和1

       k=Maxsize;
       flag=True;

       while (flag)
       {

              flag=False;

              for (j=1;j<k;j++)
              {
                  if (a[j - 1] > a[j])
                  {
                      Swap(a[j - 1], a[j]);
                      flag=True;
                  }
              }
              k--;
       }
}