文件与动态存储分配
#include <iostream>
#include <fstream>
using namespace std;
#define MAX_LINE_LENGTH 100
int main()
{
ifstream * inFilePtr;
char * strPtr,* strFileNamePtr;
strPtr = new char[MAX_LINE_LENGTH];
strFileNamePtr = new char[MAX_LINE_LENGTH];
cout<<"please enter the outputfile";
cin>>strFileNamePtr;
inFilePtr = new ifstream(strFileNamePtr);
if(inFilePtr == NULL)
{
cout<<"open the file "<<strFileNamePtr<<" wrong"<<endl;
exit(1);
}
while(!inFilePtr->eof())
{
inFilePtr->getline(strPtr,MAX_LINE_LENGTH);
cout<<strPtr<<"hey"<<endl;
}
delete[] strPtr;
delete[] strFileNamePtr;
delete inFilePtr;
system("PAUSE");
return 0;
}
//OneArray<int>a(n);
算法
算法是解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示为一个或多个操作。
正确性——测试‘’
- 选择边界数据
- 选择非法数据
- 选择有效数据
具体性——已实现的、基本的、可读可执行、有限次操作
确定性——无歧义
有限性
- 有限次
- 有限时间
可读性
- 逻辑清晰
- 标志符有实际含义
- 有适当注释说明
- 算法功能
- 输入输出规则
- 程序段功能
健壮性——robust
算法分析
时间复杂度
O(1)——常数阶时间复杂度
O(nlogn)——对数阶时间复杂度
O(n^c)——多项式阶复杂度
O(2^n)——指数阶时间复杂度
空间复杂度
实用程序软件包
标准库系统
#include "utility.h" //实用程序软件包
#include <string> //标准串和操作
#include <iostream> //标准流操作
#include <limits> //极限
#include <cmath> //数据函数
#include <fstream> //文件输入输出
#include <cctype> //字符处理
#include <ctime> //日期和时间函数
#include <cstdlib> //标准库
#include <cstdio> //标准输入输出
#include <iomanip> //输入输出流格式设置
#include <cstdarg> //支持变长函数参数
#include <cassert> //支持断言
using namespace std; //标准库包含在命名空间std中
定义宏DEFAULT_SIZE
#define DEFAULT_SIZE 100
small tip
char GetChar(istream &inStream)
{
char ch;
while((ch = (inStream).peek() != EOF)&&
((ch = (inStream).get())== ' '||
ch == '\t'));
return ch;
}