c语言有序数组的插入和删除 (有序数组插入教程c语言)

c语言中如何打乱一维数组顺序,c语言有序数组的插入和删除

c语言中如何打乱一维数组顺序,c语言有序数组的插入和删除

/*

函数功能:

生成数字1到数字n(数组长度)

数组元素随机排列且互不重复

/互不重复随机数生成

*/

#include<stdio.h>

#include<time.h>

#include<stdlib.h>

int setRdom(int arr[],int arrLen);

int main()

{

int arr[9]={0,1,2,3,4};

setRdom(arr,9);

printf("\n数字1到数字%-3d互不重复随机排序\n调用后数组arr元素变成\n",sizeof(arr)/sizeof(int));

for(int i=0;i<9;i++)

{

printf("%-5.2d",arr[i]);

}

getchar();

return 0;

}

int setRdom(int arr[],int arrLen)

{

srand((unsigned)time(NULL));

int *p_arr=arr;

int len=arrLen;

int n=0;

while(n<len)

{

int m=rand()%len+1;

int flag=0;

for(int j=0;j<n+1;j++)

{

if(*(p_arr+j)==m)

{

flag=1;

break;

}

}

if(flag==0)

{

*(p_arr+n)=m;

n++;

}

}

return 0;

}