整型数组处理算法(二)文件中有一组整数,要求排序后输出到另一个文件中
来源:互联网 发布:mac电脑图片预览 编辑:程序博客网 时间:2024/05/17 18:01
如题,需要将文件里的一组整数,排序后写到另外一个文件中。
思路:
一次读取一个sizeof(int),然后往一个int*数组里写入,写入的时候就比较,进行排序。
然后,在遍历数组,写到文件中。
实现代码如下:
#define READ_FILE "C:\\tempR.txt"#define WRITE_FILE "C:\\tempW.txt"/*按降序排列数组*/int InsertData(int* a, int nValue, int nCount){for (int i=0; i<nCount; i++){if (a[i]<nValue){for (int j=nCount-1; j>i; j--){a[j]=a[j-1];}a[i]=nValue;break;//跳出循环}}return 0;}/*写数据到文件*/int WriteData(int* a, char* pFile,int nCount){FILE* fpWrite=NULL;fpWrite = fopen(pFile, "wb+");if (fpWrite!=NULL){for (int i=0; i<nCount; i++)fwrite((char*)&a[i], sizeof(int), 1, fpWrite);fclose(fpWrite);}return 0;}int ProcessData(){FILE* fpRead =NULL;int nSize=0;int nTemp;int nCount=0;int* a50;//int* a50 = new int[];,这样写会导致R6030 CRT not initialized,错误提示。 //这里应该是内存没有申请就使用了。fpRead = fopen(READ_FILE, "rb+");if (fpRead!=NULL){fseek( fpRead, 0L, SEEK_END );int nRet = ftell(fpRead); a50 = new int[nRet/sizeof(int)];fseek( fpRead, 0L, SEEK_SET );//移到文件头nSize = fread((void*)&nTemp, sizeof(int), 1, fpRead);while (nSize>0){nCount++;InsertData(a50, nTemp, nCount);nSize = fread((void*)&nTemp, sizeof(int), 1, fpRead);}fclose(fpRead);}WriteData(a50, WRITE_FILE, nCount);delete a50;a50 = NULL;return 0;}
int main(){/*//可以执行这个先进行写测试数据到文件int* a=new int[10];for (int i=0; i<10; i++){*(a+i)=i;}WriteData(a, READ_FILE, 10);delete a;a = NULL;*/ProcessData();return 0;}
测试结果,就不贴了,有兴趣的朋友可以用代码测试测试,文件是按二进制写的,用UE或其他可以查看二进制的工具打开。
在这个过程遇到R6030 CRT not initialized的问题,才改变算法,先读取文件大小,计算整型数个数。关于为什么会出现R6030 CRT not initialized另外写一篇。
- 整型数组处理算法(二)文件中有一组整数,要求排序后输出到另一个文件中
- 文件中有一组整数,要求排序后输出到另一个文件中
- 文件中有一组整数,要求排序后输出到另一个文件中
- 文件中有一组整数,要求排序后输出到另一个文件中
- 文件中有一组整数,要求排序后输出到另一个文件中
- 文件中有一组整数,要求排序后输出到另一个文件中
- 文件中有一组整数,要求排序后输出到另一个文件中
- 源文件中有一组整数,排序后输出到另一个文件
- 源文件中有一组整数,排序后输出到另一个文件
- 把文件中的一组整数排序后输出到另一个文件中(c/c++)
- C++面试题:把文件中的一组整数排序后输出到另一个文件中。
- 文件中有一整数数组,要求排序后输出到另一文件(C++)
- 有两个磁盘文件 A,B 各放一行字母,要求把两文件信息合并(按字母排序),输出到C 中
- java读取txt中的数据放到数组中,经过计算(每个数加字母a)后再输出到另一个txt文件中。数据格式如下:
- 从文件中读取数据,排序之后输出到另一个文件中
- 从文件中读取数据,排序之后输出到另一个文件中
- 文件中读取数字并排序输出到另一个文件中
- 通过缓冲流把一个文本文件中的字符串排序后输入到另一个文件中
- html页面当前时间显示
- JSP中Session的使用
- 移行短信需求
- 堆与栈
- centOS yum 安装mysql
- 整型数组处理算法(二)文件中有一组整数,要求排序后输出到另一个文件中
- JSTL 的 if else : 有 c:if 没有 else 的处理
- flash实用类库
- R语言之常用函数
- ubuntu 12.04 安装wireshar后,找不到设备
- [基础]SQL语句执行效率及分析
- jsp的application技术整理
- 按字节、位、字寻址
- 【转载】随机函数生成问题