1樓:
stack**如下:
#include
#include
using namespace std;
/* filo
*///adt --抽象資料型別
template
class stack
//很容易忘記{}
//stl---adt
virtual void pop() = 0;
virtual void push(const t& theelement) = 0;
virtual bool empty()const = 0;
virtual int size() const = 0;
virtual t& top()=0;
};template
struct chainnode
};template
class liststack :public stack
~liststack()
}void pop()
chainnode* nextnode = stacktop->next;
delete stacktop;
stacktop = nextnode;
stacksize--;
}void push(const t& theelement)
*/stacktop = new chainnode(theelement, stacktop);
//1. 前面這個stacktop(現在) 和後面stacktop(過去)是有區別的
stacksize++;
}bool empty()const
int size() const
t& top()
return stacktop->element;
}protected:
int stacksize;
chainnode* stacktop;
};int main()
cout << endl;
liststackmystack;
mystack.push(1);
mystack.push(2);
mystack.push(3);
cout << "stacksize:" << mystack.size() << endl;
//點我頭像in群
while (!mystack.empty())
system("pause");
return 0;
}queue**如下:
/*棧和佇列:
一種結構,對於資料的儲存和使用具有一定規則
*/#include
#include
using namespace std;
//純虛函式的-----抽象化---stl queue
template //class t
class queue
virtual void pop() = 0; //出隊
virtual void push(const t& theelement) = 0;//入隊
virtual t& front() = 0; //獲取隊頭元素
virtual t& back() = 0; //隊尾元素
virtual bool empty() const = 0; //不會修改資料
virtual int size() const = 0; //大小
};//連結串列實現
template
struct chainnode
};//實際使用方法實現抽象類
template
class listqueue :public queue
~listqueue()
}//實現
void pop() //出隊
//連結串列從表頭開始刪除 ---表頭:queuefront;
//無頭連結串列 ---刪除需要儲存連結串列的下乙個結點
chainnode* nextnode = queuefront->next;
delete queuefront;
queuefront = nextnode;
queuesize--;
}//引數的引用 ----防止拷貝本的產生
void push(const t& theelement)//入隊
//返回值用引用----當作左值使用(當作變數) 直接作用返回變數
t& front() //獲取隊頭元素 front()++
return queuefront->element;
}t& back() //隊尾元素
return queueback->element;
}bool empty() const //不會修改資料
int size() const //大小
protected:
//基本屬性--->1.有利於你程式設計 2.具體的抽象
int queuesize;
//連結串列實現---->要表示隊頭和隊尾 ---用指標
chainnode* queuefront; //隊頭
chainnode* queueback; //隊尾
};int main()
cout << endl;
listqueuemyqueue;
myqueue.push(1);
myqueue.push(2);
myqueue.push(3);
cout << "佇列size:" << myqueue.size() << endl;
while (!myqueue.empty())
system("pause");
return 0;}
2樓:
class sqlist //初始化,生成頭尾結點~sqlist(){}//析構函式,刪除指標釋放空間void addele(type e){} //向尾巴指標新增新的元素,修改為尾巴節點指標,及相應的前驅後繼指標
type* searchele(type &e){} //遍歷連結串列,找到對應元素
void deleteele(){} //先找到元素,再刪除修改指標為此serach函式可以返回相應的指標來呼應
private:
type *head,*foot;}
3樓:匿名使用者
像這種作業性質的,一直就是做管理系統、
仿寫詞語作業,用無無仿寫詞語百度作業幫
列 數不清 講不完 仿寫詞語練習 1 abb式的詞語 仿寫詞語 亮晶晶 綠油油 胖乎乎 興沖沖 靜悄悄 紅潤潤 懶洋洋 慢吞吞 光禿禿 2 來 去 飛來飛去 走來走去 跑來跑去 跳來跳去 說來說去 寫來寫去 游來游去 3 又 又 又香又甜 又大又圓 又高又大 又細又長 又白又胖 又大又紅 又大又多 ...
你暗戀的女生叫你幫她寫寒假作業,幫不幫
你教她不會的地方不就好了 首先你要確定是如何地幫,是直接把書本拿回來,你埋頭去寫,還是說兩個人一起寫,不懂地互相 如果是前者,小兄弟,別傻了,你暗戀她,不代表你就得做牛做馬,而且她也肯定沒喜歡你,試想,女孩子都是很在乎自己男神怎麼看她的,向 作業這種丟人的事情也讓你知道,你肯定沒戲啊,如果是後者,大...
寫人提綱怎麼寫 百度作業幫,寫人作文提綱怎麼寫
寫人離不了敘事,以人為主線寫事。你要理解題鋼的含義,再入手寫提綱 作文提綱的形式一般有兩種。1 標題式提綱。這種提綱比較簡單,只寫出行文各段的標題。這是乙個標題式的作文提綱,勇簡潔的文字標出了各段的寫作要點。它的特點是文字簡潔 速度較快,適合於對寫作內容較熟悉或時間較緊的情況。但對初學寫作的人來說,...