已结贴√

问题点数:20 回复次数:2

如何实现以下功能给出1000个通过随机数生成的数据,分别用直接插入排序法、冒泡排序法、快速排序法进行排序

#include

#include

#include

#include

void create();

void InsertSort(int a[],  int length);

void BubbleSort(int a[],  int length);

void QKSort(int a[],  int length);

void main() /*主函数即用户的操作界面*/

{

int b,flag=0; /*声明局部变量*/

while(1) /*循环输出以下信息*/

{

printf("**************************--------------------主菜单--------------------************************\n");

printf("***************-------------------------------排序-----------------************************\n");

printf(" 1.新建随机生成1000数 \n");

printf(" 2.直接插入排序法进行排序 \n");

printf(" 3.冒泡排序法进行排序 \n");

printf(" 4.快速排序法进行排序 \n");

printf(" 0.退出 \n");

printf(" 请输入选项0-4 \n");

printf(" 请输入你的选择:" );

scanf("%d",&b);

switch(b)

{

case 1:create();break;

case 2:InsertSort(int a[],int length);break;/*直接插入排序法*/

case 3:BubbleSort(int a[],int length);break;/*冒泡排序法*/

case 4:QKSort(int a[],  int length);break; /*快速排序法进行排序*/

case 0:flag=1;break;/*退出SWITCH语句*/

default :printf("错误!");

}

if(flag) break; /*如果选择0就退出循环*/

}

}

void create()

{

int a[1000];

srand((unsigned)time(NULL));

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

{

a[i]=rand()%1000;printf("%d\t",a[i]);

if(i%10==0)

printf("\n");

}

}

void InsSort(int a[],  int length)

/* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/

{

int i,j;

for (i=2;i<=length;i++)

{

a[0]=a[i];      /*将待插入记录存放到监视哨r[0]中*/

j=i-1;

while (a[0]< a[j] )     /* 寻找插入位置 */

{

a[j+1]= a[j];

j=j-1;

}

a[j+1]=a[0];                 /*将待插入记录插入到已排序的序列中*/

}

} /*  InsSort  */

void  BubbleSort(int a[], int length )

/*对记录数组r做冒泡排序,length为数组的长度*/

{

int n,i,j;

int change;

RecordType x;

n=length;

change=TRUE;

for ( i=1 ; i<= n-1 && change ;++i )

{

change=FALSE;

for ( j=1 ; j<= n-i ; ++j)

if (a[j]> a[j+1] )

{

x= a[j];

a[j]= a[j+1];

a[j+1]= x;

change=TRUE;

}

}

} /*  BubbleSort  */

void QKSort(int a[],int low, int high )

/*对记录数组r[low..high]用快速排序算法进行排序*/

{

int pos;

if(low

{

pos=QKPass(a, low, high);  /*调用一趟快速排序,将枢轴元素为界划分两个子表*/

QKSort(a, low, pos-1);     /*对左部子表快速排序*/

QKSort(a, pos+1, high); /*对右部子表快速排序*/

}

}

C语言随机生成成绩排序,如何实现以下功能给出1000个通过随机数生成的数据,分别用直接插入排序法、冒泡排序法、快速排序法进行排序...相关推荐

  1. 易语言随机生成MAC源码

    这里推荐一个生成随机模拟MAC的源码,非常简洁实用,比如我们在hook物理网卡地址时,需要生成这样的效果. 易语言api hook GetAdaptersAddresses 劫持网卡物理地址 测试输入 ...

  2. 数据结构—排序算法总结(插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、合并排序、计数排序)

    *排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作. 稳定性 在待排序的数组中,如果出现多个相同的关键字,例如:98751555512,中出现重复的数字,在 ...

  3. C语言 - 随机生成数字 和 汉字

    目录 0 写在前面 1 随机生成数字(整数 和 浮点数) 1.1 rand() 简析 本质 使用注意 rand()取值范围: 1.2 在 [ m, n ] 中随机取数(整 + 浮) 1.2.1 注意: ...

  4. 用R语言随机生成30个自然数, 然后把3的倍数的储存到一个向量,3k+1形式的数储存到另外一向量, 3k+2形式储存到第三个向量。写出R代码。

    此篇博客主要讲述R语言的应用,随机生成30个自然数(范围0-100),存入向量x, 然后把3的倍数的储存到一个向量x1,3k+1形式的数储存到另外一向量x2, 3k+2形式储存到第三个向量x3.写出R ...

  5. c语言随机生成1到100随机数_VB之生成随机数

    VB6.0制作的一个生成随机数的程序,点击开始后,每个标签框不停转动,随机生成1~10以内的一位数字,点击停止,则转动停止,这个程序主要应用于活动时抽奖需要,下面是整个程序功能的实现. 程序界面主要如 ...

  6. c语言随机生成n个数求最小值,C语言程序:从N个数中随机取出100个不同的数

    /**你题目中的N个数至少得大于100吧.下面的程序N个数是随机生成 你的N个数是?同时这个程序有错误的话请告诉我. */ /* *从N个数中随机取出100个不同的数 *@author:banxi19 ...

  7. C语言随机生成连连看地图,MFC实现连连看游戏之地图显示

    MFC实现连连看游戏前期过程中遇到的一大问题是如何将地图显示出来,最后还是看了其他人的源码才搞定. 首先是地图数组的生成,这个网上找有很多,我用的是随机生成地图的种类,然后将其放在两个连续的位置,最后 ...

  8. C语言随机生成1到50中7个数,c语言生成50个随机数,对随机数进行快速排序。

    楼下的几个回答我怎么看也不是快速排序,所以我做了一个用快速排序法排序的程序 #include #include #include #define LEN 50 //快速排序(升) void quick ...

  9. c语言随机生成整数存放一维数组_文科生学 Python 系列 7: Numpy 数组/索引和切片...

    第四课:本课内容: • 0. 导入 NumPy 包 • 1. 创建 NumPy 数组 • 2. 索引和切片 • 3. 读取文件 • 4. 布尔型索引 • 5. 数组的运算 • 6. 常用函数举例 Nu ...

最新文章

  1. select,epoll,poll比较
  2. 网络营销期间交换链接多会有更多网络营销的机会吗?
  3. C++ Primer 5th笔记(chap 14 重载运算和类型转换)lambda函数对象
  4. java异常体系_Java 异常体系
  5. svn Error:Wrong committed revision number: -1。
  6. ffmpeg php linux,linux(php环境) 安装ffmpeg
  7. colinux的安装
  8. no.7_qzhai 开心版_开心宝贝GM版下载-开心宝贝GM版安卓下载
  9. 地表上最强编程语言——C语言
  10. [有限元]利用虚位移和虚力的定义、对称性推导弹性力学公式
  11. 粒子滤波简介(转载)
  12. seetaface6教程:封装人脸识别,人脸检测,,眼睛检测,状态,特征.....
  13. Java常用工具类-根据物流单号,从快递100中获取物流详细信息,包含发货,签收等
  14. 【PyG 教程】PyG 自定义构造 GNN
  15. Webots水下机器人仿真
  16. 【BZOJ】【P1135】【POI2009】【Lyz】【题解】【线段树+Hall定理】
  17. docker中 scp root远程至普通用户
  18. PinYin4j使用教程
  19. file.exists(),file.isFile()和file.isDirectory()的区别
  20. 【软件测试】接口测试用例和报告模板

热门文章

  1. uses-feature 和 uses-permission总结
  2. 苏州学生python培训学校
  3. Java数据库连接——JDBC新手安装、测试教程
  4. java 转义 方法_JAVA 转义函数:跳过转义字符
  5. python 逐行调试工具_Python调试的三个工具
  6. Python 调试方法总结
  7. Python的打印函数print()中占位符%和format()使用以及f格式化字符串
  8. 编码,快与慢:开发者和过度自信心理学
  9. 不折腾,毋宁死。Python修炼之路(目录)
  10. html4三种版本,bootstrap4有哪些版本?