#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define max 30
void InsSort(RecordType r[],int n)
{
int i,j,r[];
for(i=1;i=n;i++)
{
r[0]=r[i];j=i-1;
while(r[0]<r[j])
{
r[j+1]=r[j];
j=j-1;
}
r[j+1]=r[0]
}
}
int main()
{
int r[],k
srand((unsigned)time(NULL));
for(i=k;k<max;k++)
{
r[k]=rand();
}
InsSort(r,max);
for(int i=1;i<max;i++)
printf("直接插入排序后结果:%d\n",r[i]);
}

此程序为用直接插入法对30个随机数进行排序,有三个问题,如下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- CSDN专家-深度学习进阶 2021-06-16 09:18关注
#include<stdio.h> #include<stdlib.h> #include<time.h> typedef int RecordType; #define max 30 void InsSort(RecordType r[],int n) { int i,j; for(i=0;i<n;i++) { r[0]=r[i];j=i-1; while(r[0]<r[j]) { r[j+1]=r[j]; j=j-1; } r[j+1]=r[0]; } } int main() { int r[1000],k=0,i; for(i=0;i<max;i++) { r[i]=rand(); } InsSort(r,max); for(int i=10;i<max;i++) printf("直接插入排序后结果:%d\n",r[i]); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用