随机生成100万个数,存储在文件out1.txt中,使用内部排序完成,并重新储存在文件out2.txt中。

(一)使用STL中的qsort函数进行操作:

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "time.h"
int a[1000000];
void load(char filename[]) //写文件
{int i;FILE *fp;fp=fopen(filename,"w");if(fp==NULL){printf("cannot open file/n");return;}for(i=0;i<1000000;i++)  fprintf(fp,"%d ",a[i]);
}
int cmp(const void *a, const void *b)
{return (*(int*)a)-(*(int*)b); //从小到大进行排序
}
void paixu()
{qsort(a,1000000,sizeof(int),cmp);
}
int main(void)
{int i;char filename[20];srand( (unsigned)time( NULL ) );         //初始化随机数for(i=0;i<1000000;i++)                //打印出10个随机数a[i]=rand();strcpy(filename,"out1.txt");load(filename);paixu();//快速排序strcpy(filename,"out2.txt");load(filename);system("pause");return 0;
}

(二)递归实现qsort函数进行操作:

#include "string.h"
#include "stdlib.h"
#include "stdio.h"
#include "time.h"
int a[1000000];
void load(char filename[]) //写文件
{int i;FILE *fp;fp=fopen(filename,"w");if(fp==NULL){printf("cannot open file/n");return;}for(i=0;i<1000000;i++) fprintf(fp,"%d ",a[i]);
}
int partitions(int a[],int low,int high)
{int pivotkey=a[low];   //基准while(low<high){while(low<high && a[high]>=pivotkey)--high;a[low]=a[high];while(low<high && a[low]<=pivotkey)++low;a[high]=a[low];}a[low]=pivotkey;return low;
}
void qsort(int a[],int low,int high)   //快速排序
{int pivotkey;if(low<high){//递归调用pivotkey=partitions(a,low,high);qsort(a,low,pivotkey-1);qsort(a,pivotkey+1,high);}
}
int main(void)
{int i;char filename[20];srand( (unsigned)time( NULL ) );         //初始化随机数for(i=0;i<1000000;i++)                //打印出10个随机数a[i]=rand();strcpy(filename,"out1.txt");load(filename);qsort(a,0,1000000);  //快速排序strcpy(filename,"out2.txt");load(filename);system("pause");return 0;
}

随机生成100万个数,排序后保存在文件中相关推荐

  1. Python实现生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B

    题目要求: 生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B 01-AF-3B 01-AF-3B-xx 01-AF-3B-xx-xx 01-AF-3B-xx-xx-x ...

  2. 在存有10亿个数的文件中找到最大的100万个数

    这是<编程珠玑>中的一道题目.10亿个整数,假设每个整数需要四个字节,如果使用排序的话,需要大约4G的内存,现在的很多pc都没有多这么内存,更不用说作者那个年代. 我们借助最小堆来解决这个 ...

  3. java随机生成一万条数据

    前言 最近在尝试做网页,然后有网页就得有用户是吧,然后咱这个破网页也没人看,就自己模拟了一万个用户信息,于是就有了下面的随机生成一万条用户信息的代码- 上代码 咱的数据库长这样: 代码如下: pack ...

  4. 随机生成100个卡号题目

    随机生成100个卡号 1).卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100), 2). 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat& ...

  5. oracle crontab e,Linux运维知识之通过crontab -e编辑生成的定时任务,写在哪个文件中...

    本文主要向大家介绍了Linux运维知识之通过crontab -e编辑生成的定时任务,写在哪个文件中,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 环境描述: 操作系统:Red  ...

  6. python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...

    如何用Python编程随机产生10个随机整数,并输出这10个整数的和 用Python编程产生10个随机整数,并整数的和,方法如下 准备材料python.电脑 1.需要加载的模块是:random. 2. ...

  7. 批量生成100万张小程序码?了解一下。

    引言 最近有一个生成很多小程序码的需求,生成的小程序码还要嵌入在指定的图片模板上,就去找轮子,没找到合适的轮子..无奈之下就决定去撸一个.目前已经完成并发布npm. Github:github.com ...

  8. 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发

    PHP每15分钟自动更新网站地图(减少服务器消耗)_后端开发 sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.ph ...

  9. 随机生成1万个随机姓名与密码存入txt文本中

    1.IO流创建文本文档并写入 public static void write() throws IOException {String path = "E:\\demo\\IO流创建问并循 ...

最新文章

  1. TF.js 识别图片中的物件
  2. 获取元素到页面顶部的距离_组成网站页面结构的元素有哪些?
  3. Visual Studio 剪切板新特性
  4. RecognizerIntent(语音识别)
  5. MyBatis的mapper.xml中对于一个传参的多重判断
  6. repo 的几个使用理解
  7. 深度探索QT窗口系统——几何篇
  8. 设计模式—单例模式(思维导图)
  9. html js 跳出框架,现在的web框架为什么把html和js又结合在一起了?
  10. Reactor模型讲解
  11. 笔记本电脑怎么录制屏幕
  12. 将PDG文件转化为PDF文件
  13. 一篇教你随意下载网易云音乐歌曲的博客!
  14. Python Intro - xrange obsoleted by Python3
  15. Photoshop(简称Ps)制作个人logo
  16. 修真院教学模式四大体系之学习方法篇
  17. SRS低延时配置分析
  18. OSG 加载 fbx模型 渲染 已解决
  19. 解决window 10 Edge浏览器下载速度太慢
  20. UI自动化测试是什么?什么项目适合做UI自动化测试

热门文章

  1. 同步 异步 阻塞 非阻塞概念区分
  2. JDK7,JDK8 - 下载地址
  3. 时代中坚:互联网电视迎来极致时代
  4. ShineTime - 带有 CSS3 闪亮特效的缩略图相册
  5. nginx 配置的server_name参数(转)
  6. SQL中的循环语句_类似FOR循环
  7. 思科认证与华为认证在考题与内容上到底多大差别?
  8. 内存对齐与sizeof
  9. PAT A1017 优先队列
  10. 找到一本不错的Linux电子书,附《Linux就该这么学》章节目录