大文件排序(栈中)
来源:互联网 发布:最可靠的单片机 编辑:程序博客网 时间:2024/05/01 23:53
生成大文件并,对文件内容进行排序:
适用对象:1,文件值的集合为有限个,2文件大,
思路:从最小值到最大值,分别统计各值出现的次数,并记录,从最小值开始向结果文件中写入,每个值写入的次数就是统计的次数,(注意要去掉空行)
代码:
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>int main(){FILE*fp = fopen("bigfile.dat", "w");srand(time(NULL));//从种子中取的随机数int i;for (i = 0; i < 10000000; i++){fprintf(fp, "%d\n", rand() % 512); //生成512以内的随机数}fclose(fp);printf("create bigfile end!");/*对生成大文件进行排序*/FILE *fpr = fopen("bigfile.dat", "r");int ar[512] = { 0 };//文件值范围数组printf("1");while(!feof(fpr)){//printf("1");char buf[100] = { 0 };fgets(buf, sizeof(buf), fpr);if (buf[0] != 0) // 去掉空行{int index = atoi(buf);ar[index] ++; //统计值数量}}for (int i = 0; i < 512; i++){printf("ar[%d] = %d\n",i, ar[i]);}FILE * fpw = fopen("sort_res.dat", "w");for (int i = 0; i < 512; i++){for (int j = 0; j < ar[i]; j++){fprintf(fpw, "%d\n", i);}}printf("end!!!");return 0;}
阅读全文
1 0
- 大文件排序(栈中)
- 大文件排序
- 大文件排序
- 大文件排序
- 如何排序大文件?
- Shell 排序大文件
- 大文件排序
- Java高效排序大文件
- 大文件内字符串排序
- Django中提供大内容(或大文件)下载
- 大日志文件中如何统计单词个数?及map按value排序lambda表达式版
- 实现归并排序和大文件排序——题集(十九)
- 堆排序(大)
- LINUX/AIX/UNIX 大文件排序问题
- 一种大文件的排序方法
- java 大文件 多字段排序
- 利用文件映射和多线程技术进行大文件排序(>200万记录数)
- 可以对大文件排序的排序算法
- linux 安装mysql
- 网页服务器开发:CGI
- iOS CoreML 模型转换工具coremltools(三)
- 回车键触发表单提交的问题
- python爬虫之爬取腾讯新闻
- 大文件排序(栈中)
- 数据库系统概念(机械工业出版社,第六版)复习——第一章:引言
- linux入门
- OpenDDS开发手册---第二章(开始)3
- 第六章 使用数字
- 开通博客
- iOS学习笔记-074.CALayer04——隐式动画
- html5基础知识
- 线程的同步与互斥