BILIST.CPP
上传用户:wszmarenbt
上传日期:2013-04-26
资源大小:2552k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //THE IMPLEMENTATION OF THE CLASS "LIST"
  2. //FILE BILIST.CPP
  3. #include "BILIST.H"
  4. void LIST::Build_HT(int Data)
  5. {
  6. NODE *BUFFER;
  7. BUFFER=new NODE;
  8. BUFFER->DATA=Data;
  9. if(HEAD==0)
  10. {
  11. HEAD=BUFFER;
  12. HEAD->NEXT=0;
  13. HEAD->PREVIOUS=0;
  14. TAIL=HEAD;
  15. }
  16. else
  17. {
  18.  TAIL->NEXT=BUFFER;
  19.  BUFFER->PREVIOUS=TAIL;
  20.  BUFFER->NEXT=0;
  21.  TAIL=BUFFER;
  22. }
  23. }
  24. void LIST::Build_TH(int Data)
  25. {
  26. NODE *NEWNODE;
  27. NEWNODE=new NODE;
  28. NEWNODE->DATA=Data;
  29. if(TAIL==0)
  30. {
  31. TAIL=NEWNODE;
  32. TAIL->NEXT=0;
  33. TAIL->PREVIOUS=0;
  34. HEAD=TAIL;
  35. }
  36. else
  37. {
  38. NEWNODE->PREVIOUS=0;
  39. NEWNODE->NEXT=HEAD;
  40. HEAD->PREVIOUS=NEWNODE;
  41. HEAD=NEWNODE;
  42. }
  43. }
  44. void LIST::DISPLAY_HT()
  45. {
  46. NODE *TEMP;
  47. TEMP=HEAD;
  48. printf("nDISPLAY THE LIST FROM HEAD TO TAIL:n");
  49. while(TEMP!=0)
  50. {
  51. printf("%d  ",TEMP->DATA);
  52. TEMP=TEMP->NEXT;
  53. }
  54. }
  55. void LIST::DISPLAY_TH()
  56. {
  57. NODE *TEMP;
  58. TEMP=TAIL;
  59. printf("nDISPLAY THE LIST FROM TAIL TO HEAD:n");
  60. while(TEMP!=0)
  61. {
  62. printf("%d  ",TEMP->DATA);
  63. TEMP=TEMP->PREVIOUS;
  64. }
  65. }
  66. void LIST::CLEAR()
  67. {
  68. NODE *TEMP_HEAD=HEAD;
  69. if (TEMP_HEAD==0) return;
  70. do
  71. {
  72. NODE *TEMP_NODE=TEMP_HEAD;
  73. TEMP_HEAD=TEMP_HEAD->NEXT;
  74. delete TEMP_NODE;
  75. }
  76. while (TEMP_HEAD!=0);
  77. }