<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 18,  comments - 1,  trackbacks - 0


    #include<iostream>
    using namespace std;
    typedef int T;

    class Node{
    ????? T data;
    ????? Node *next;
    public:
    ?????? Node(T t):data(t),next(NULL){}
    ?????? friend class List;?????
    ?????? };
    ?????
    class List{
    ????? Node * head;
    ????? int len;
    public:
    ??????? List(int len=0):len(len),head(NULL){}
    ??????? ~List(){clear();}
    ??????? Node* & getp( int pos ); 
    ??????? void insert( T d, int pos=0 );//插入
    ??????? int size();
    ??????? bool empty();
    ?????? ?void travel();//遍歷
    ????????void clear();
    ??????? int find( T d );//查找
    ??????? bool update( T d1, T d2 );//更新
    ??????? bool erase( T d );//刪除
    ??????? T getHead();
    ??????? T getTail();
    ??????? void reverse();
    ????? };
    void List::insert(T d,int pos){
    ???? Node *p=new Node(d);
    ???? Node *&pn=getp(pos);
    ???? p->next=pn;
    ???? pn=p;
    ???? ++len;
    ???? }
    ????
    Node*& List::getp(int pos){//返回一個引用而不是一個復制的數據
    ???? if(pos<0||pos>len)
    ??????????? pos=len;??????????????????
    ???? if(pos==0)
    ???????????? return head;
    ?????? Node*p=head;?????
    ???? for(int i=0;i<pos-1;i++)
    ??????????? p=p->next;
    ???? return p->next;
    ???? }
    int List::size(){
    ??? return len;
    ??? }
    bool List::empty(){
    ???? return head==NULL;
    ???? }?
    ??????
    void List::clear(){
    ????? while(head!=NULL){
    ???? Node *p =head->next;
    ???? delete head;
    ???? head=p;
    ???? }??
    ???? len=0 ;???????????????
    ???? }
    void List::travel(){
    ???? Node*p=head;
    ???? while(p!=NULL){
    ???? cout<<p->data<<' ';
    ???? p=p->next;??????????????
    ???? }
    ???? cout<<endl;??
    ???? }
    int List::find( T d ){
    ???? Node*p=head;
    ???? int pos=0;
    ????
    ???? while(p!=NULL){
    ??????? if(d==p->data)
    ??????????? return pos;
    ??????? p=p->next;
    ??????? ++pos;???????????????
    ???? }????
    ?????????? return -1;
    ???? }
    bool List::update( T d1, T d2 ){
    ???? int t=find(d1);
    ???? if(t==-1)
    ?????? return false;
    ???? Node*&p=getp(t);
    ???? p->data=d2;
    ???? return true;
    ???? }
    bool List:: erase(T d){
    ???? int t=find(d);
    ???? if(t==-1)
    ?????? return false;
    ????? Node*&pn=getp(t);
    ????? Node*p=pn;
    ????? pn=pn->next;
    ????? delete p;
    ????? --len;?????
    ???? return true;
    ???? }
    ?void List:: reverse(){
    ????? Node *ph=head;
    ????? Node *p=NULL;
    ????? head=NULL;
    ????? while(ph!=NULL){
    ??????? p=ph;
    ??????? ph=ph->next;
    ???????
    ??????? p->next=head;
    ??????? head=p;
    ???? }
    ????
    ????? }
    ?????
    T List::getHead(){
    ????? if(empty())
    ????????? return T();??????????
    ??????? return head->data;?????????
    ????? }
    T? List::getTail(){
    ????? if(empty())
    ?????????? return T();
    ?????? return getp(len-1)->data;????????????
    ????? }
    int main(){
    ??? List obj;
    ?obj.reverse();
    ?obj.travel();
    ?obj.insert(1,-1);
    ?obj.insert(2,-1);
    ?obj.insert(3,-1);
    ?obj.insert(4,-1);
    ?obj.insert(5);
    ?obj.insert(6);
    ?obj.insert(7);
    ?obj.insert(8);
    ?obj.insert(60,6);
    ?obj.insert(40,4);
    ?obj.insert(20,2);
    ?obj.travel();
    ?obj.reverse();
    ?obj.travel();
    ??? cout<<obj.find(60)<<endl;
    ?obj.update(20,600);
    ?obj.travel();
    ?obj.erase(600);
    ?obj.travel();
    ?cout<<obj.getHead()<<' '<<obj.getTail()<<endl;
    ?int t;
    ?cin>>t;
    ?return 0;
    ??? }

    posted on 2007-01-23 21:59 sunny 閱讀(180) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    相冊

    收藏夾

    朋友

    搜索

    •  

    最新評論

    評論排行榜

    主站蜘蛛池模板: 亚洲第一网站男人都懂| 亚洲国产老鸭窝一区二区三区| 亚洲天堂免费在线视频| 久久综合图区亚洲综合图区| 18女人水真多免费高清毛片| 亚洲hairy多毛pics大全| 亚洲伊人久久综合中文成人网| 久艹视频在线免费观看| 色在线亚洲视频www| 精品国产亚洲男女在线线电影 | a毛片免费在线观看| 亚洲人成免费电影| 一本色道久久88综合亚洲精品高清| 国内精品免费在线观看| 亚洲精品GV天堂无码男同| 亚洲情XO亚洲色XO无码| 成全视频免费高清| 久艹视频在线免费观看| 老司机午夜精品视频在线观看免费| 色婷婷六月亚洲婷婷丁香| 亚洲精品国产综合久久一线| 91免费播放人人爽人人快乐| 一级特黄录像免费播放肥| 亚洲日韩精品无码专区加勒比☆ | 亚洲精品国产自在久久| 无码人妻一区二区三区免费手机| 国产精品极品美女自在线观看免费| 久久久久se色偷偷亚洲精品av | 成人免费网站视频www| 亚洲午夜久久久精品电影院| 久久精品国产精品亚洲精品| 国产精品四虎在线观看免费 | 亚洲男人av香蕉爽爽爽爽| 黄瓜视频高清在线看免费下载| 高清永久免费观看| 老湿机一区午夜精品免费福利| 亚洲日本国产综合高清| 亚洲国产精品综合久久2007| 亚洲成AV人片在线观看无| 亚洲女人被黑人巨大进入| 国产精品四虎在线观看免费 |