博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于动态内存和输入输出文件
阅读量:7281 次
发布时间:2019-06-30

本文共 2015 字,大约阅读时间需要 6 分钟。

最近和师兄的课题交流,特别是这两天重点集中到实践上。动态分配存储空间和输入输出文件无疑是非常重要的。

这里仍记录以下今天借阅的这本C++给出的一些例子:

动态内存的模拟

struct memo{    int start;    int finish;    memo* next;};void arrange(memo* memo){    memo* insPos = head, *curPos, *minPos;    while(insPos->next != NULL){    //直接插入排序        curPos = minPos = insPos;        while(curPos->next = NULL){ //找起始地址最小的结点            if(curPos->next->start
next->start) minPos = curPos; curPos = curPos -> next; } //插入最小节点 curPos = minPos -> next; minPos -> next = curPos -> next; curPos -> next = insPos -> next; insPos -> next = curPos; intPos = insPos -> next; } //合并连续的内存块 for(curPos = head -> next; curPos -> next !=NULL; curPos = curPos -> next){ //当前块与下一块连续,执行合并 while(curPos->finish + 1 == curPos->next->start){ minPos=curPos->next; curPos->finish=minPos->finish; curPos->next=minPos->next; delete minPos; if(curPos->next==NULL)return; }}

另外一个非常实用的程序:统计一个文件中单词使用的频率

#include 
#include
#include
using namespace std; struct word{ char data[20]; int count; }; void getWord(ifstream &fp, char ch[]); //从文件中读入一单词 void doubleSpace(word* &list, int &size); //扩大数组空间 int main() { ifstream in("txt.txt"); char ch[20]; int size = 10, len = 0, i, j; word* result = new word[10]; if(!in){cout <<"文件打开错误"<
= 0) break; if(i < len && strcmp(result[i].data, ch) == 0){ result[i].count += 1; coutinue; } if(size == len) doubleSpace(result, size); for(j = len++; j > i; --j) result[j] = result[j-1]; strcpy(result[i].data, ch); result[i].count = 1; } for(i = 0; i < len; ++i) cout << stw(20) << elft << result[i].data << setw(5) << result[i].count << endl; in.close(); cin >> ch[0]; return 0;}

 

转载于:https://www.cnblogs.com/ubiwind/p/5558320.html

你可能感兴趣的文章
php操作redis简单例子
查看>>
android TextView
查看>>
【SICP练习】62 练习2.33
查看>>
安装CocoaPods遇到的问题
查看>>
第四章 网络层
查看>>
UVA - 10559 Blocks
查看>>
Codeforces 493C - Vasya and Basketball
查看>>
算法笔记--高精度算法
查看>>
数据类型与strlen()函数sizeof()运算符
查看>>
图片水印
查看>>
第二阶段冲刺 NO.7
查看>>
类方法, 实例方法, 静态方法
查看>>
蓝桥别 p0101
查看>>
执行npm install 时会报 operation not permitted,unlink......错
查看>>
strcpy/strlen/strcat/strcmp面试总结
查看>>
20190412
查看>>
iOS开发-自动布局和自动旋转
查看>>
Sicily 1342. 开心的金明
查看>>
CTR预估中GBDT与LR融合方案
查看>>
CodeForces 598D Igor In the Museum
查看>>