国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++ 數據結構線性表-數組實現

2020-01-26 14:03:52
字體:
來源:轉載
供稿:網友

C++ 數據結構線性表-數組實現

線性表的數組實現,實現幾個核心的功能,語言是C++,如果有更好的想法和意見,歡迎留言~~~

/* Author : Moyiii  * 線性表的數組實現,僅作學習之用,當然如果  * 你想拿去用,隨你好啦。 */  #include<iostream> using namespace std;  //順序表 class SeqList { public:   //構造函數,接受一個默認的列表大小   SeqList(int size = MAX_LIST_SIZE);   //析構函數,釋放elems占用的內存空間   ~SeqList();   //清空表   void clear();   //判斷表是否為空   bool isEmpty();   //獲得表的當前元素個數   int getLength();   //在第pos個元素位置之前插入一個新元素   bool insertElem(int pos, int elem);   //刪除第pos個元素   bool deleteElem(int pos);   //打印表中元素   void print();   int *elems;//表元素, private:   static const int MAX_LIST_SIZE;   int m_length;//表的元素個數   int m_size;//表的當前最大長度 };  SeqList :: SeqList(int size) {   //size不可以小于零,也不可以超過系統規定最大長度   //否則做截斷處理   if(size > MAX_LIST_SIZE)   {     m_size = MAX_LIST_SIZE;   }   else if(size < 0)   {     m_size = 0;   }   else   {     m_size = size;   }    elems = new int[m_size];   m_length = 0;     if(!elems)   {     cout << "Space allocate failed!" << endl;   } }  SeqList :: ~SeqList() {   delete []elems; }  void SeqList :: clear() {   m_length = 0; }  bool SeqList :: isEmpty() {   if(m_length == 0)   {     return true;   }   else   {     return false;   } }  int SeqList :: getLength() {   return m_length; }  bool SeqList :: insertElem(int pos, int elem) {   if(m_length == m_size)   {     cout << "List is Full" << endl;     return false;   }    if(pos < 1 || pos > m_length + 1)   {     cout << "Over Bound!" << endl;     return false;   }    //插入位置之后元素后移   for(int i = m_length; i >= pos - 1; --i)   {     elems[i+1] = elems[i];   }    elems[pos-1] = elem;   m_length++;   return true; }  bool SeqList :: deleteElem(int pos) {   if(pos < 1 || pos > m_length)   {     return false;   }    for(int i = pos - 1; i <= m_length - 1; ++i)   {     elems[i] = elems[i+1];   }    m_length--;   return false; }  void SeqList :: print() {   for(int i = 0; i < m_length; ++i)   {     cout << elems[i] << " ";   }   cout << endl; }  //初始化 const int SeqList :: MAX_LIST_SIZE = 100;  int main() {   SeqList myList;    for(int i = 1; i <= 10; ++i)   {     myList.insertElem(1,i);   }    myList.print();    cout << "Length= " << myList.getLength() <<endl;    myList.deleteElem(5);    myList.print();    cout << "Length= " << myList.getLength() <<endl;    myList.clear();    cout << myList.isEmpty() << endl;    return 0; } 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五台县| 吉水县| 治县。| 哈尔滨市| 云龙县| 桃源县| 望奎县| 靖西县| 定兴县| 双牌县| 石景山区| 布尔津县| 乐亭县| 肥东县| 张家川| 土默特右旗| 图们市| 胶南市| 扬州市| 八宿县| 大化| 玉山县| 麻江县| 潞西市| 梅州市| 桐柏县| 潢川县| 孝昌县| 嵩明县| 贵德县| 喀喇| 三原县| 宁都县| 奉节县| 文昌市| 屏山县| 宽甸| 平湖市| 德格县| 云安县| 临桂县|