c語言透過函式呼叫實現選擇排序法:
1、寫一個簡單選擇排序法的函式名,包含引數。int SelectSort(int * ListData,int ListLength);
2、寫兩個迴圈,在迴圈中應用簡單選擇插入排序:
int SelectSort(int * ListData,int ListLength)
{
int i , j ;
int length = ListLength;
for(i=0;i<=length-2;i++)
int k = i;
for(j=i+1;j<=length-1;j++)
if(ListData[k]>ListData[j])
k=j;
}
if(k!=i)
int tmp = ListData[i];
ListData[i] = ListData[k];
ListData[k] = tmp;
return 0;
3、對編好的程式進行測試,得出測試結果:
int main()
int TestData[5] = {34,15,6,89,67};
int i = 0;
printf("排序之前的結果\n");
for(i = 0;i<5;i++)
printf("|%d|",TestData[i]);
int retData = SelectSort(TestData,5);
printf("排序之後的結果:\n");
4、簡單選擇排序中,需要移動的記錄次數比較少,主要的時間消耗在對於資料的比較次數。基本上,在比較的時候,消耗的時間複雜度為:n*n。
c語言透過函式呼叫實現選擇排序法:
1、寫一個簡單選擇排序法的函式名,包含引數。int SelectSort(int * ListData,int ListLength);
2、寫兩個迴圈,在迴圈中應用簡單選擇插入排序:
int SelectSort(int * ListData,int ListLength)
{
int i , j ;
int length = ListLength;
for(i=0;i<=length-2;i++)
{
int k = i;
for(j=i+1;j<=length-1;j++)
{
if(ListData[k]>ListData[j])
{
k=j;
}
}
if(k!=i)
{
int tmp = ListData[i];
ListData[i] = ListData[k];
ListData[k] = tmp;
}
}
return 0;
}
3、對編好的程式進行測試,得出測試結果:
int main()
{
int TestData[5] = {34,15,6,89,67};
int i = 0;
printf("排序之前的結果\n");
for(i = 0;i<5;i++)
printf("|%d|",TestData[i]);
int retData = SelectSort(TestData,5);
printf("排序之後的結果:\n");
for(i = 0;i<5;i++)
printf("|%d|",TestData[i]);
return 0;
}
4、簡單選擇排序中,需要移動的記錄次數比較少,主要的時間消耗在對於資料的比較次數。基本上,在比較的時候,消耗的時間複雜度為:n*n。