91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據結構:模板實現棧和隊列

發布時間:2020-05-29 20:04:55 來源:網絡 閱讀:324 作者:hhaxy77 欄目:編程語言

(一)模板實現棧

#pragma once
typedef unsigned int size_t;
template <class T>
class Stack
{
public:
 Stack()
  :_array(NULL)
  ,_top(-1)
  ,_capacity(0)
 {}
 ~Stack()
 {
  if(_array)
  {
   delete[] _array;
  }
 }
public:
 void Push(const T& num)
 {
  _CheckCapacity();
  _array[++_top] = num;
 }
 void Pop()
 {
  if(Empty())
  {
   printf("Empty!");
  }
  else
  {
   _top--;
  }
 }
 T& GetTop()
 {
  return _array[_top];
 }
 void PrintStack()
 {
  cout<<array[_top];
 }
 size_t Size()
 {
  return _top + 1;
 }
 bool Empty()
 {
  return _top == -1;
 }
private:
 void _CheckCapacity()
 {
  if(_array == NULL)
  {
   _capacity = 3;
   _array = new T[_capacity];
   return;
  }
  if(_capacity = _top + 1)
  {
   _capacity *= 2;
   T* tmp = new T[_capacity];
   for(size_t i = 0; i <=(int)_top; i++)
   {
    tmp[i] = _array[i];
   }
   _array = tmp;
  }
 }
private:
 T* _array;
 int _top;                 //下標
 size_t _capacity;
};

2.模板實現隊列

#pragma once
template <class T>
struct Node
{
 T _data;
 Node<T>* _next;
 Node(const T& d)
  :_data(d)
  ,_next(NULL);
 {}
};
template <class T>
class Queue
{
public:
 Queue()
  :_head(NULL)
  ,_tail(NULL)
  ,_size(0)
 {}
 ~Queue
 {
  if(_head)
   delete _head;
  if(_tail)
   delete _tail;
 }
public:
 void Push(const T& d)
 {
  if(_head == NULL)
  {
   _head = _tail = new Node<T>(d);
  }
  else
  {
   _tail->_next = new Node<T>(d);
   _tail = _tail->_next;
  }
  _size++;
 }
 void Pop()
 {
  if(_head == NULL)
  {
   cout<<"Empty!"<<endl;
   return;
  }
  else if(_head == _tail)
  {
   delete _head;
   _head = _tail = NULL;
  }
  else
  {
   Node<T>* tmp = _head;
   _head = _head->_next;
   delete tmp;
  }
  _size--;
 }
 bool Empty()
 {
  return _head == NULL;
 }
 size_t Size()
 {
  return _size;
 }
 T& Front()
 {
  assert(_head);
  return _head->_data;
 }
 T& Back()
 {
  assert(_tail);
  return _tail->_data;
 }
private:
 Node<T>* _head;
 Node<T>* _tail;
 size_t _size;
};

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仙游县| 修水县| 桐梓县| 宁化县| 莲花县| 左权县| 忻州市| 双桥区| 福州市| 西城区| 恩施市| 新巴尔虎右旗| 子长县| 高密市| 通榆县| 邯郸市| 武鸣县| 墨竹工卡县| 东至县| 夏津县| 宜阳县| 六安市| 鄢陵县| 内黄县| 太原市| 武平县| 盘锦市| 明星| 钦州市| 涟水县| 英吉沙县| 博客| 宁远县| 长治市| 富顺县| 温州市| 观塘区| 新宁县| 彭水| 聊城市| 甘谷县|