我有一个函数,参数是int* NumList 请先算出该参数的长度,再使用BubbleSort算法排序 并计算其排序时长
时间: 2023-05-21 22:04:23 浏览: 110
好的,让我思考一下。根据 C 语言的习惯,我们可以先计算出参数 NumList 的长度,这个可以通过以下代码实现:
int NumListLength = sizeof(NumList) / sizeof(NumList[0]);
接下来,我们可以使用冒泡排序算法对数组进行排序。以下是一个示例代码:
void BubbleSort(int *NumList, int NumListLength)
{
int i, j, temp;
for(i=0; i<NumListLength; i++)
{
for(j=0; j<NumListLength-i-1; j++)
{
if(NumList[j] > NumList[j+1])
{
temp = NumList[j];
NumList[j] = NumList[j+1];
NumList[j+1] = temp;
}
}
}
}
最后,我们可以通过调用下面的代码来计算排序时长:
clock_t start, end;
double duration;
start = clock();
BubbleSort(NumList, NumListLength);
end = clock();
duration = (double)(end - start) / CLOCKS_PER_SEC;
printf("排序时长: %lf秒\n", duration);
希望这个回答能帮到您。
阅读全文