请求帮我解决数据结构部分的生成数组问题

6月1日前解决问题
怎么分别生成元素升序、降序、随机序的3个数组,长度都为100万。这个怎么搞啊?还有接不上

img


下面是函数的接口 数组在前,长度在后
void SelectSort(int* num, int len)

在每次生成随机数的时候,可以根据上一次的数据来决定下一次的范围,写了三个函数,一个生成递增数组,一个生成递减数组,一个生成随机数组:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXLEN 1000000
//生成递增数组
void createDzArray(int a[])
{
    int i=0;
    int start = 0; //从0开始
    int end = 10;
    for(i=0;i<MAXLEN;i++)
    {
        a[i] = start + rand()%(end-start); //生成[start,end)之间的随机数
        start = a[i]+1; //调整start
        end = start+10;
    }
}

//生成递减数组
void createDjArray(int a[])
{
    int i = 0;
    int start = 90000000;
    int end = start + 10;
    for (i=0;i<MAXLEN;i++)
    {
        a[i] = start + rand()%(end-start);  //生成[start,end)之间的随机数
        end = a[i];
        start = end - 10;
    }
}

//生成随机数组
void createSjArray(int a[])
{
    for(int i = 0;i<MAXLEN;i++)
        a[i] = rand();
}


int main()
{
    int a[MAXLEN],b[MAXLEN],c[MAXLEN];
    srand((unsigned int)time(0)); //生成随机数种子
    createDzArray(a); //生成递增数组
    createDjArray(b); //生成递减数组
    createSjArray(c); //生成随机数组

    //显示数组,每行10个数据,以显示数组a为例
    for(int i=0;i<MAXLEN;i++)
    {
        if((i+1)%10 == 0)
            printf("%d\n",a[i]);
        else
            printf("%d ",a[i]);
    }

    //排序操作

    return 0;
}