生活随笔
收集整理的這篇文章主要介紹了
数据结构与算法(基于C++语法实现)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
順序列表
Hello,各位小伙伴,大家好!這是發(fā)布星空以后的第二次寫博客。本次我將跟大家分享關(guān)于學習數(shù)據(jù)結(jié)構(gòu)與算法的一些知識,數(shù)據(jù)結(jié)構(gòu)與算法的后續(xù),也會陸陸續(xù)續(xù)的更新,幫助大家更好的理解。
好了,今天我將要跟大家分享順序列表的知識。
順序列表的定義:n個數(shù)據(jù)元素的有限序列,其中n(n>=0)表示線性表的長度。實現(xiàn)的操作增、刪、改、查。(以后的數(shù)據(jù)結(jié)構(gòu)基本上都是實現(xiàn)這幾個操作)
下面是順序列表的代碼塊,有詳細的注釋幫助萌新理解哦,支持到vs2013上運行代碼,只需做一點小小的修改,這個問題就留給小伙伴你了,一個簡單的考驗。
#define DataType int
Class SeqList
{public:SeqList(int size =defaultSize){if(size>0)//檢查賦予的順序表的大小,如果合法則分配相應大小的內(nèi)存{maxsize=size;Elements =new DataType[maxsize];//分配內(nèi)存大小}length=0;}int getLength(){return this.length;}~SeqList(){delete[] Elements;//回收內(nèi)存}bool insertElement(DataType data);//向指定位置插入元素bool deletElement(int location );//刪除指定位置的元素DataType getElement(int location);//取得指定位置的元素bool cahngeElement(int location,DataType newData);//修改指定位置的元素值private:default const int defaultSize = 10; DataType *Elements;int maxsize;//順序表的最大大小int length;
}
bool SeqList::insertElements(DataType data)
{if(length >=maxsize)return false;//判定位置是否合法else{Elements[length]=data;length++;return true;}
}bool SeqList::deletElement(int location)
{if(length<0||location >=maxsize||location<0){ cout<<"順序表已空或者位置非法,不得進行刪除"<<endl;return false;//判定位置是否合法}else{for(int i=location;i<length;i++){Elements[i]=Elements[i+1];}length--;return true;}
}
DataType Seqlist::getElements(int location)//取出指定位置的數(shù)據(jù)
{if(location >maxsize||location<0){cout<<"你取元素的位置非法"<<endl;//判定位置是否合法return false;}else{length--;return Elements[location];}
}
bool SeqList::changeElement(int location ,DataType newData)
{if(location >maxsize||location <0){cout<<"操作位置非法"<<endl;//判定位置是否合法return false;}else{Elements[location]=newData;return true;}
}int main()
{SeqLsit list(10);//建立順序表for(int i=0;i<10;i++){list.insertElements(i*20);//順序表的初始化}for(int i=0;i<10;i++){cout<<list.getElements(i)<<" ";}//將順序表中的元素輸出cout<<endl;//刪除索引為5的元素list.deletElement(5);//將刪除后的表格輸出for(int i=0;i<list.getLength();i++){cout<<list.getElement(i)<<" ";}cout<<endl;//將順序表的索引為3的元素值改為88list.changeElement(3,88);//將更改之后的表格輸出for(int i=0;i<list.getLength();i++){cout<<list.getElement(i)<<" ";}cout<<endl;return 0;
}
后續(xù)的相關(guān)的知識也會陸陸續(xù)續(xù)的發(fā)布出來,如果小伙伴感覺有用的話,多多點贊、收藏、轉(zhuǎn)發(fā)(ps:表明轉(zhuǎn)載處哦,),將實用的知識讓更多的小伙伴了解。
感謝各位小伙伴的點贊關(guān)注收藏。
總結(jié)
以上是生活随笔為你收集整理的数据结构与算法(基于C++语法实现)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。