单项选择题

下列叙述中正确的是______。

A.栈是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
热门 试题

问答题
请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。 要求: 补充编制的内容写在“ **********333**********”与“**********66666**********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。 注意:程序最后已将结果输出到文件out.dat中,输出函数writeToFile已经给出并且调用。 proj3.cpp #include<iostream> #include<fstream> #include<cstring> using namespace std; class doc private: char*str; 文本字符串首地址 int length; 文本字符个数 public: 构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址 doc(char*filename); void reverse(); 将字符序列反转 ~doc(); void writeToFile(char*filename); ; doc::doc(char*filename) ifstream myFile(filename); int len=1001,tmp; str=new char[len]; length=0; while((tmp=myFile.get())!=EOF) str[length++]=tmp; str[length]=’ 0’; myFile.close(); void doc::reverse() 将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个 字符交换…… *************333************* *************666************* doc::~doc() delete[]str; void doc::writeToFile (char *filename) ofstream outFile (filename)j outFile<<str; outFile.close(); void main() doc myDoc( in.dat¨); myDoc.reverse(); myDoc.writeToFile( out.dat );