main.cpp
上传用户:shunfadg
上传日期:2022-07-28
资源大小:4k
文件大小:2k
源码类别:

数据结构

开发平台:

Visual C++

  1. #include "deque.h"
  2. #include <fstream>
  3. #include <cassert>
  4. using namespace std;
  5. int main(){
  6. int i,data, len;
  7. cout << "1. EnQueueTail and DeQueueHead:n" << endl;
  8. cout << "The data in the file is: n";
  9. ifstream fin1("data.txt");
  10. assert(fin1);
  11. DeQue<int> que1;
  12. while (!fin1.eof()) {
  13. assert(fin1 >> data);
  14. cout << data << "  ";
  15. que1.EnDeQueTail(data);
  16. }
  17. cout << endl;
  18. fin1.close();
  19. cout << "nUse EnQueueTail for each data in the file, nthen the queue is:n";
  20. cout << que1 << endl;
  21. cout << "nUse DeQueueHead in turn, the result is:"<<endl;
  22. len = que1.Length();
  23. for(i = 0; i < len; i++){
  24. data=que1.DeDeQueHead();
  25. cout << "Delete " << data << ", then the queue is:n";
  26. cout << que1 << endl;
  27. }
  28. cout << "n==================================================n"; 
  29. cout << "2. EnQueueHead and DeQueueTail:" << endl;
  30. cout << "The data in the file is: n";
  31. ifstream fin2("data.txt");
  32. assert(fin2);
  33. DeQue<int> que2;
  34. while (!fin2.eof()){
  35. assert(fin2 >> data);
  36. cout << data << "  ";
  37. que2.EnDeQueHead(data);
  38. }
  39. cout << endl;
  40. fin2.close();
  41. cout << "nUse EnQueueHead for each data in the file, nthen the queue is:n";
  42. cout << que2 << endl;
  43. cout << "nUse DeQueueTail in turn, the result is:"<<endl;
  44. len = que2.Length();
  45. for(i = 0; i < len; i++){
  46. data=que2.DeDeQueTail();
  47. cout << "Delete " << data << ", then the queue is:n";
  48. cout << que2 << endl;
  49. }
  50. cout << "n==================================================n"; 
  51. cout << "3. stack push:" << endl;
  52. cout << "The data in the file is: n";
  53. ifstream fin3("data.txt");
  54. assert(fin3);
  55. DeQue<int> que3;
  56. while (!fin3.eof()){
  57. assert(fin3 >> data);
  58. cout << data << "  ";
  59. que3.EnDeQueHead(data);
  60. }
  61. cout << endl;
  62. fin3.close();
  63. cout << "nStack push used EnDeQueHead for each data in the file, nthen the queue is:n";
  64. cout << que3 << endl;
  65. cout << "nStack pop used DeDeQueHead in turn, the result is:"<<endl;
  66. len = que3.Length();
  67. while(!que3.IsEmpty()){
  68. data=que3.DeDeQueHead();
  69. cout << "Pop " << data << ", then the stack is:n";
  70. cout << que3 << endl;
  71. }
  72. return 0;
  73. }