Arrays 如何在C中存储随机数以在shaker sort中对其进行排序

Arrays 如何在C中存储随机数以在shaker sort中对其进行排序,arrays,c,Arrays,C,这是一个shaker排序的代码,它对元素数组进行排序,我不知道如何确保数组中的随机数在高范围内,比如10000,然后对它们进行排序,以检查平均情况下的效率。有人知道如何解决这个问题吗?C语言中是否有用于此的函数 #include <stdio.h> #include <time.h> #include <stdlib.h> void swap(int *a, int *b){ int temp; temp = *a; *a = *b;

这是一个shaker排序的代码,它对元素数组进行排序,我不知道如何确保数组中的随机数在高范围内,比如10000,然后对它们进行排序,以检查平均情况下的效率。有人知道如何解决这个问题吗?C语言中是否有用于此的函数

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void swap(int *a, int *b){
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
void shakersort(int a[], int n)
{
    int p, i;
    for (p = 1; p <= n / 2; p++)
    {
        for (i = p - 1; i < n - p; i++)
            if (a[i] > a[i+1])
                swap(&a[i], &a[i + 1]);
        for (i = n - p - 1; i >= p; i--)
            if (a[i] < a[i-1])
                swap(&a[i], &a[i - 1]);
    }
}
void printArray(int arr[], int size)
{
    int i;
    for (i=0; i < size; i++)
        printf("%d ", arr[i]);
}

int main()
{
  clock_t start_time = clock();
   int arr[] = {2,2,7,5,9,6};
  int n = sizeof(arr)/sizeof(arr[0]);
  shakersort(arr, n);
  printf("Sorted array is:\n");
  printArray(arr, n);
  printf("\n");
  
   clock_t end_time = clock();
   printf("Elapsed: %f seconds\n", (double)(end_time - start_time) / CLOCKS_PER_SEC);
    return 0;
}
#包括
#包括
#包括
无效交换(int*a,int*b){
内部温度;
温度=*a;
*a=*b;
*b=温度;
}
void shakersort(int a[],int n)
{
int p,i;
对于(p=1;pa[i+1])
掉期交易(&a[i]、&a[i+1]);
对于(i=n-p-1;i>=p;i--)
if(a[i]
如果您询问如何生成随机数并将其存储到数组中,则表示排序代码实际上并不相关。相反,你应该发布你解决问题的尝试。你到底不知道怎么做?生成一个随机数?创建一个数组?在数组中存储值?