国产探花免费观看_亚洲丰满少妇自慰呻吟_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; } 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 千阳县| 偃师市| 绥棱县| 闽清县| 调兵山市| 林西县| 衡东县| 晋中市| 普安县| 甘孜| 司法| 北京市| 彝良县| 七台河市| 牡丹江市| 天镇县| 措勤县| 溧水县| 定结县| 枝江市| 嵊泗县| 民勤县| 宜昌市| 资源县| 贡觉县| 大名县| 金川县| 湖口县| 阿图什市| 宜章县| 都安| 伊春市| 永兴县| 隆回县| 邛崃市| 汶川县| 林甸县| 宁阳县| 河东区| 泉州市| 祁连县|