算法测试

发布时间 2023-11-08 09:03:14作者: 20211402赵佳怡

1.Ubuntu下支持哪些C语言的排序算法,查找算法?你是怎么得到的?提交截图

2.针对下面的数组,调用Linux的 快速排序或二分查找算法。查找算法查自己的学号。
用随机数函数产生10个 1-1000之间的数存到一个数组int arr[11]中, arr[10] = 你学号的后三位。

include <stdio.h>

include <stdlib.h>

// 快速排序函数
void quickSort(int arr[], int low, int high) {
if (low < high) {
int pivot = arr[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j] < pivot) {
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i+1];
arr[i+1] = arr[high];
arr[high] = temp;
quickSort(arr, low, i);
quickSort(arr, i+2, high);
}
}

int main() {
int arr[11];
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 1000 + 1;
}
arr[10] = 402;
quickSort(arr, 0, 10);
int index = 10;
while (index > 0 && arr[index] != 402) {
index--;
}
if (index == 0) {
printf("学号不存在!\n");
} else {
printf("学号为:%d\n", index);
}
return 0;
}