算法测试
1.Ubuntu下支持哪些C语言的排序算法,查找算法?你是怎么得到的?提交截图
2.针对下面的数组,调用Linux的 快速排序或二分查找算法。查找算法查自己的学号。
用随机数函数产生10个 1-1000之间的数存到一个数组int arr[11]中, arr[10] = 你学号的后三位。
#include <stdio.h>
#include <stdlib.h>
int comp(const void*a,const void*b);
int main()
{
srandom(8);
int counter =0;
int arr[10];
for(;counter<10;counter++)
{
arr[counter] = random()%1000;
printf("%d\n",arr[counter]);
}
arr[10] = 402;
printf("%d\n",arr[10]);
qsort(arr,counter+1,sizeof(int),comp);
int *item;
int key = 402;
item = (int*) bsearch (&key, arr,counter+1 , sizeof (int), comp);
if( item != NULL )
{
printf("Found item = %d\n", *item);
}
else
{
printf("Item = %d could not be found\n", *item);
}
}
int comp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;
}
}