随机生成100万个数,排序后保存在文件中
随机生成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万个数,排序后保存在文件中相关推荐
- 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 ...
- 在存有10亿个数的文件中找到最大的100万个数
这是<编程珠玑>中的一道题目.10亿个整数,假设每个整数需要四个字节,如果使用排序的话,需要大约4G的内存,现在的很多pc都没有多这么内存,更不用说作者那个年代. 我们借助最小堆来解决这个 ...
- java随机生成一万条数据
前言 最近在尝试做网页,然后有网页就得有用户是吧,然后咱这个破网页也没人看,就自己模拟了一万个用户信息,于是就有了下面的随机生成一万条用户信息的代码- 上代码 咱的数据库长这样: 代码如下: pack ...
- 随机生成100个卡号题目
随机生成100个卡号 1).卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100), 2). 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat& ...
- oracle crontab e,Linux运维知识之通过crontab -e编辑生成的定时任务,写在哪个文件中...
本文主要向大家介绍了Linux运维知识之通过crontab -e编辑生成的定时任务,写在哪个文件中,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 环境描述: 操作系统:Red ...
- python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...
如何用Python编程随机产生10个随机整数,并输出这10个整数的和 用Python编程产生10个随机整数,并整数的和,方法如下 准备材料python.电脑 1.需要加载的模块是:random. 2. ...
- 批量生成100万张小程序码?了解一下。
引言 最近有一个生成很多小程序码的需求,生成的小程序码还要嵌入在指定的图片模板上,就去找轮子,没找到合适的轮子..无奈之下就决定去撸一个.目前已经完成并发布npm. Github:github.com ...
- 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发
PHP每15分钟自动更新网站地图(减少服务器消耗)_后端开发 sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.ph ...
- 随机生成1万个随机姓名与密码存入txt文本中
1.IO流创建文本文档并写入 public static void write() throws IOException {String path = "E:\\demo\\IO流创建问并循 ...
最新文章
- TF.js 识别图片中的物件
- 获取元素到页面顶部的距离_组成网站页面结构的元素有哪些?
- Visual Studio 剪切板新特性
- RecognizerIntent(语音识别)
- MyBatis的mapper.xml中对于一个传参的多重判断
- repo 的几个使用理解
- 深度探索QT窗口系统——几何篇
- 设计模式—单例模式(思维导图)
- html js 跳出框架,现在的web框架为什么把html和js又结合在一起了?
- Reactor模型讲解
- 笔记本电脑怎么录制屏幕
- 将PDG文件转化为PDF文件
- 一篇教你随意下载网易云音乐歌曲的博客!
- Python Intro - xrange obsoleted by Python3
- Photoshop(简称Ps)制作个人logo
- 修真院教学模式四大体系之学习方法篇
- SRS低延时配置分析
- OSG 加载 fbx模型 渲染 已解决
- 解决window 10 Edge浏览器下载速度太慢
- UI自动化测试是什么?什么项目适合做UI自动化测试