<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      數據結構學習記錄連載10(隊列提高要求實現)

      1.QueueNode.h:鏈式隊列結點類定義

      /*
      * Copyright (c) 2009,FreshAir團隊嵌入式軟件研發組
      * All rights reserved.
      *
      * 文件名稱:QueueNode.h

      * 摘 要: 鏈式隊列結點類定義
      *
      * 當前版本:1.0
      * 作 者: 吳友強
      * 完成日期:2009年10月19日
      *
      * 取代版本:
      * 原作者 :
      * 完成日期:
      */

      #include <iostream.h>
      #include <stdlib.h>
      template <class T> class LinkQueue;

      template <class T>
      class QueueNode
      {
       friend class LinkQueue<T>;
      private:
       QueueNode<T> *next;
      public:
       T data;

       //構造函數
       QueueNode(const T& item, QueueNode<T> *ptrNext = NULL)
       {
        data =item;
        next = ptrNext;
       }

       ~QueueNode() {};
      };

       

      2.LinkQueue.h:鏈式隊列模板類的定義與接口實現

      /*
      * Copyright (c) 2009,FreshAir團隊嵌入式軟件研發組
      * All rights reserved.
      *
      * 文件名稱:LinkQueue.h
      * 摘 要: 鏈式隊列模板類的定義與接口實現
      *
      * 當前版本:1.0
      * 作 者: 吳友強
      * 完成日期:2009年10月19日
      *
      * 取代版本:
      * 原作者 :
      * 完成日期:
      */

      #include "QueueNode.h"

      template <class T>
      class LinkQueue
      {
      private:
       QueueNode<T> *front;
       QueueNode<T> *rear;
       int size;
      public:
       LinkQueue(void);
       ~LinkQueue(void);

       void QueueInsert(const T& item);
       T QueueDelete(void);
       T QueueFront(void) const;
       int QueueIsEmpty(void) const
       {
        return size <= 0;
       }

       void ClearQueue(void);
       int GetQueueSize(void) const
       {
        return size;
       }
      };

      template <class T>
      LinkQueue<T>::LinkQueue()
      {
       front = rear = NULL;
       size = 0;
      }

      template <class T>
      LinkQueue<T>::~LinkQueue()
      {
       ClearQueue();
       front = rear = NULL;
      }

      /*
      * 函數名稱: QueueInsert
      * 輸 入: item
      * item: 需要插入的數據
      * 輸 出:
      * 功能描述: 將item插入到隊列中
      * 作 者: 吳友強
      * 日 期: 2009年10月19日
      * 修 改:
      * 日 期:
      */
      template <class T>
      void LinkQueue<T>::QueueInsert(const T& item)
      {
       QueueNode<T> *newNode = new QueueNode<T>(item, NULL);

       if (rear != NULL)   //原先不為空鏈時才要連接
       {
        rear->next = newNode;
       }

       rear = newNode;    //新結點為隊尾結點

       if (front == NULL)
       {
        front = newNode;  //原先為空鏈時給front賦值
       }

       size++;
      }

      /*
      * 函數名稱: QueueDelete
      * 輸 入: 
      * 輸 出:
      * 功能描述: 刪除隊列頭部的一個數據
      * 作 者: 吳友強
      * 日 期: 2009年10月19日
      * 修 改:
      * 日 期:
      */
      template <class T>
      T LinkQueue<T>::QueueDelete()
      {
       if (size == 0)
       {
        cout << "隊列以空無元素可刪!" << endl;
        exit(0);
       }

       QueueNode<T> *p = front->next;
       T data = front->data;
       delete front;
       front = p;
       size--;
       return data;
      }

      /*
      * 函數名稱: QueueFront
      * 輸 入: 
      * 輸 出:
      * 功能描述: 訪問隊列頭部的一個數據
      * 作 者: 吳友強
      * 日 期: 2009年10月19日
      * 修 改:
      * 日 期:
      */
      template <class T>
      T LinkQueue<T>::QueueFront() const
      {
       return front->data;
      }

      /*
      * 函數名稱: ClearQueue
      * 輸 入: 
      * 輸 出:
      * 功能描述: 清空隊列
      * 作 者: 吳友強
      * 日 期: 2009年10月19日
      * 修 改:
      * 日 期:
      */
      template <class T>
      void LinkQueue<T>::ClearQueue()
      {
       QueueNode<T> *p, *q;

       p = front;
       while (p != NULL)
       {
        q = p;
        p = p->next;
        delete q;
       }

       size = 0;
      }

       

      3.LinkQueueTest.cpp:用鏈式堆棧和隊列實現回文判斷

      /*
      * Copyright (c) 2009,FreshAir團隊嵌入式軟件研發組
      * All rights reserved.
      *
      * 文件名稱:LinkQueueTest.cpp
      * 摘 要: 用鏈式堆棧和隊列實現回文判斷
      *
      * 當前版本:1.0
      * 作 者: 吳友強
      * 完成日期:2009年10月19日
      *
      * 取代版本:
      * 原作者 :
      * 完成日期:
      */

      #include <iostream.h>
      #include <stdlib.h>
      #include <string.h>

      #include "LinkQueue.h"
      #include "LinkStack.h"

      void main(void)
      {
       LinkStack<char> myStack;
       LinkQueue<char> myQueue;

       char str[80];

       cout << "輸入字符序列,回車換行結束:" << endl;
       cin.getline(str, 80);
       int h = strlen(str);
       cout << "h = " << h << endl;

       for (int i=0; i<h; i++)
       {
        myQueue.QueueInsert(str[i]);
        myStack.Push(str[i]);
       }

       while (!myQueue.QueueIsEmpty())
       {
        if (myQueue.QueueDelete() != myStack.Pop())
        {
         cout << "不是回文!" << endl;
         return ;
        }
       }

       cout << "是回文!" << endl;
      }

      posted @ 2009-10-19 20:31  薔薇理想人生  閱讀(256)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 人妻聚色窝窝人体WWW一区| 越南毛茸茸的少妇| 亚洲人妻精品一区二区| 无码人妻丰满熟妇奶水区码| 狠狠v日韩v欧美v| 亚洲av免费看一区二区| 在线a人片免费观看| 丰满岳乱妇久久久| 人妻一区二区三区三区| 亚洲精品第一国产综合精品| 色偷偷亚洲男人的天堂| 国产深夜福利视频在线| A男人的天堂久久A毛片| 日本一二三区视频在线| 丰满人妻熟妇乱又仑精品| 国产一区二区不卡91| 都兰县| 亚洲经典av一区二区| 中文字幕精品亚洲二区| 国产资源精品中文字幕| 一区二区亚洲精品国产精| 国产伦精品一区二区亚洲| 午夜免费啪视频| 高清一区二区三区不卡视频| 国产91特黄特色A级毛片| 国产二区三区不卡免费| 国产va免费精品观看| 操操操综合网| 在线高清免费不卡全码| 国产精品无遮挡在线观看| 国产一级r片内射免费视频| 国产成人亚洲日韩欧美| 中文字幕人妻不卡精品| 东方av四虎在线观看| 亚洲精品无码久久久影院相关影片 | 无套内谢少妇一二三四| 少妇高潮水多太爽了动态图| 国产专区一va亚洲v天堂| 中文字幕精品亚洲人成在线| 青青草无码免费一二三区| 中国国产免费毛卡片|