这次读取的就是上一篇中的original文件的每一行到一个整数数组中。
使用getline(缺省吧回车符endl作为行标记)分别把每一行读入到一个字符串数组,在这个字符数字最后加上/0构成一个字符串;
使用strtok函数把每行组成的字符串以空格为标记划分多个单元返回为一个char*类型值pchTok;
然后把pchTok使用atoi转化为int类型每个存入到一个整型数组的每个单元中sortArray[i]中;
之后把数组使用堆排序算法排序后按照对齐格式输出到另外一个文本中。void heapSort_Write()中。
为了使用字符串函数要包含string.h;为了使用setw要包含iomanip.h。
#include "heapSort.h"
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
#define ARRAY_SIZE 1000
int heapcount = 0;//记录总共的比较次数
void FixHeap(int L[], int Hsize, int root, int k){
//int larger = 0;
if((2 * (root + 1)) > Hsize)//叶子节点
L[root] = k;
else{
int larger = 0;
if((2*(root

该博客介绍了如何使用C++通过堆排序算法将一个以空格分隔、回车换行的txt文件内容读取到整数数组中,并将排序后的结果写入新的文件。博客详细解释了读取过程、字符串处理技巧以及堆排序算法的实现。
&spm=1001.2101.3001.5002&articleId=6313123&d=1&t=3&u=8cc2f7b96aa94de8807a7f6a5dbe14c6)
2542

被折叠的 条评论
为什么被折叠?



