閱讀以下說明和 C 代碼,填補代碼中的空缺,將解答填入答題紙的對應欄內。
【說明】
對一個整數(shù)序列進行快速排序的方法是:在待排序的整數(shù)序列中取第一個數(shù)作為基準值,然后根據(jù)基準值進行劃分,從而將待排序列劃分為不大于基準值者(稱為左子序列)和大于基準值者(稱為右子序列),然后再對左子序列和右子序列分別進行快速排序, 最終得到非遞減的有序序列。
函數(shù) quicksort(int a[],int n)實現(xiàn)了快速排序,其中,n 個整數(shù)構成的待排序列保存在數(shù)組元素 a[0]-a[n-1]中。
【C 代碼】
#include < stdio.h>
void quicksort(int a[] ,int n)
{
int i ,j;
int pivot = a[0]; //設置基準值
i =0; j = n-1;
while (i< j) {
while (i
if (i
a[i] = pivot; //基準元素歸位
if ( i>1)
(3) ; //遞歸地對左子序列進行快速排序
if ( n-i-1>1 )
(4) ; //遞歸地對右子序列進行快速排序
}
int main ()
{
int i,arr[ ] = {23,56,9,75,18,42,11,67};
quicksort ( (5) ); //調用 quicksort 對數(shù)組 arr[ ]進行排序
for( i=0; i
return 0;
}