青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢(mèng)令

張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試

 

#include <iostream>
#include 
<cmath>
#include
<algorithm>
#include
<cstring>
using namespace std;

struct node{
    
int data;
    node 
*next;
};

class sqlist
{
private:
    node 
*head;
    
int lenth;

public:
    sqlist()
    {
        cout
<<"您申請(qǐng)了一個(gè)sqlist型對(duì)象,所占的字節(jié)數(shù)為"<<sizeof(sqlist)<<",感謝您的使用。"<<endl;
        cout
<<"在測(cè)試過程中如有問題,請(qǐng)及時(shí)向我反饋,我的聯(lián)系方式是QQ:64076241.O(∩_∩)O~"<<endl<<endl;
        lenth
=0;
        head
=NULL;
    }
    
void initial();
    
void creat();
    node
*  findpos(int pos);
    
int findnum(int num);
    
void insert(int num,int pos);
    
void deletenode(int pos);
    
int len();
    
bool empty();
    
void reverse();
    
void print();
    
};

void sqlist::initial()
{
    
int i=1;
    
if(lenth==0)
    {
        cout
<<"表為空,無需初始化"<<endl;
        
return ;
    }
    
int size=lenth;
    
for(i=1;i<=size;i++)
    {

        deletenode(
1);

    }
    cout
<<"初始化完畢"<<endl;
}

void sqlist::creat()
{
    
int temp;
    node 
*p,*r;
    head
=r=NULL;
    cout
<<"請(qǐng)順序輸入鏈表的值,并以空格隔開,以-1做為輸入結(jié)束"<<endl;
    cin
>>temp;
    
while(temp!=-1)
    {
        lenth
++;
        p
=new node;
        p
->data=temp;
        
if(head==NULL)
            head
=p;
        
else
            r
->next=p;
        r
=p;
        cin
>>temp;
    }
    
if(r!=NULL)
        r
->next=NULL;
}

node
* sqlist::findpos(int pos)//返回值為NULL代表沒有找到;
{
    node 
*p;
    
int i=1;
    p
=head;
    
if(head==NULL)
    {
        cout
<<"表為空"<<endl;
            
return NULL;
    }
    
else if(pos>lenth||pos<1)
    {

        cout
<<"您的輸入超出鏈表的區(qū)間范圍"<<endl;
        
return NULL;

    }

    
while(i<pos)
    {
        p
=p->next;
        i
++;
    }
    
return p;
}



int sqlist::findnum(int num)//返回值為零代表沒有找到或者輸入錯(cuò)誤;
{
    node 
*p=head;
    
int i=1;
    
if(head==NULL)
    {
        cout
<<"鏈表為空,操作錯(cuò)誤"<<endl;
        
return 0;
    }

    
    
while(i<=lenth)
    {
        
if(p->data==num)
            
return i;
        
else
            p
=p->next;
        i
++;
    }
    
if(i==lenth+1)
    {
        cout
<<"o(╯□╰)o,沒有查找到該元素"<<endl;
        
return 0;
    }
}

void sqlist::insert(int num,int pos)
{
    node 
*p,*q;
    
int i;
    
if(lenth==0)
    {
        cout
<<"鏈表為空,請(qǐng)先建立鏈表"<<endl;
        
return;
    }

    
if(pos>lenth+1||pos<1)
    {
        cout
<<"抱歉,此位置無效,您的輸入范圍應(yīng)是1-"<<lenth+1<<"."<<endl;
        
return;
    }
    
if(pos==1)
    {
        q
=new node;
        q
->data=num;
        q
->next=head;
        head
=q;
        cout
<<"成功的在"<<pos<<"位置處插入元素"<<num<<",插入成功"<<endl;
        lenth
++;
        
return ;
    }
    p
=findpos(pos-1);
    q
=new node;
    q
->data=num;
    q
->next=p->next;
    p
->next=q;
    lenth
++;
    cout
<<"成功的在"<<pos<<"位置處插入元素"<<num<<",插入成功"<<endl;

}

void sqlist::deletenode(int pos)
{
    node 
*p,*r;
    
if(pos==1)
    {
        p
=head;
        head
=head->next;
        delete p;
        lenth
--;
        
return ;
    }

    p
=findpos(pos-1);
    
if(p==NULL)
    {
        cout
<<"刪除結(jié)點(diǎn)時(shí)出現(xiàn)了查找錯(cuò)誤,O(∩_∩)O~,pos越界了吧"<<endl;
        
return ;
    }
    r
=p->next;
    p
->next=r->next;
    lenth
--;
    delete r;
}

int sqlist::len()
{
    cout
<<"鏈表的長(zhǎng)度為"<<lenth<<endl;
    
return lenth;
}

bool sqlist::empty()
{
    
if(lenth==0)
    {
        cout
<<"容器為空"<<endl;
        
return true;
    }
    
else
    {
        cout
<<"容器非空"<<endl;
        
return false;
    }
}

void sqlist::print()
{

    node 
*p;
    
int i;
    p
=head;
    i
=1;
    
if(lenth==0)
    {

        cout
<<"表為空,請(qǐng)先建表"<<endl;
        
return ;
    }
    
while(i<=lenth)
    {
        cout
<<p->data<<' ';
        p
=p->next;
        i
++;
    }
    cout
<<"鏈表打印完畢"<<endl;

}

void sqlist::reverse()
{
    node 
*p;
    node 
*q;
    
int i=1;
    node 
*r;
    
if(lenth==0)
    {
        cout
<<"鏈表為空,請(qǐng)先建表"<<endl;
        
return;
    }
    
else if(lenth==1)
    {

        cout
<<"鏈表長(zhǎng)度為一,不需逆轉(zhuǎn)"<<endl;
        
return ;

    }
    
else
    {
        p
=head;
        q
=p->next;
        r
=q->next;
        
while(i<lenth)
        {
            
if(p==head)
                p
->next=NULL;
            q
->next=p;
            p
=q;
            q
=r;
            
if(r!=NULL)
            r
=r->next;
            i
++;
        }
        head
=p;
    }

}



int main ()
{
    
int i;
    node 
*temp;
    cout
<<"                          歡迎使用由sqlist線性鏈表類"<<endl;
    cout
<<"        ——creator abilitytao ,received the guidance by Mr Zhang Hong "<<endl<<endl;
    sqlist test;
    cout
<<"接下來將進(jìn)行十分BT的數(shù)據(jù)測(cè)試."<<endl<<endl;
    cout
<<"首先驗(yàn)證建表函數(shù)和初始化函數(shù)的正確性,循環(huán)兩次,第一次請(qǐng)輸入1 2 3 4 5 -1,第二次直接輸入-1"<<endl;
    
for(i=1;i<=2;i++)
    {
        test.creat();
        test.print();
        test.initial();
        test.print();
    }
    test.initial();
    cout
<<endl;
    system(
"pause");
    system(
"cls");

    cout
<<"接下來驗(yàn)證findpos函數(shù)的正確性,此處我們輸入1 2 3 4 -1,并搜索pos=-1,0,1,2,3,4,5處的值"<<endl;
    test.creat();
    
for(i=-1;i<=5;i++)
    {

        temp
=test.findpos(i);
        
if(temp==NULL)
            cout
<<"查找錯(cuò)誤"<<endl;
        
else
            cout
<<temp->data<<endl;
    }
    cout
<<endl;
    test.initial();
    system(
"pause");
    system(
"cls");
    
    
    
    cout
<<"接下來將測(cè)試findnum函數(shù),輸入數(shù)據(jù)為1 2 3 4 5 -1 ,我們查找4和100"<<endl;
    test.creat();
    cout
<<"4位于"<<test.findnum(4)<<"號(hào)位置"<<endl;
    test.findnum(
100);
    test.initial();
    cout
<<endl;
    system(
"pause");
    system(
"cls");

    cout
<<"接下來測(cè)試insert函數(shù)"<<endl;
    cout
<<"我們輸入1 2 3 4 5 6 -1,先在4前面加上77,然后在最前面添上0,最后面添上7"<<endl;
    test.creat();
    test.insert(
77,4);
    test.print();
    test.insert(
0,1);
    test.print();
    cout
<<"注意此時(shí)容器中已經(jīng)有九個(gè)數(shù)了"<<endl;
    test.insert(
7,9);
    test.print();
    test.initial();
    cout
<<endl;
    system(
"pause");
    system(
"cls");
    


    cout
<<"再讓我們來測(cè)試deletenode這個(gè)函數(shù)"<<endl;
    cout
<<"我們輸入1 2 3 4 5 6 -1,然后從前向后依次刪除<<endl";
    test.creat();
    test.print();
    
int test_len=test.len();
    
for(i=1;i<=test_len;i++)
    {
        test.deletenode(
1);
        test.print();
    }
    test.initial();
    cout
<<endl;
    system(
"pause");
    system(
"cls");


    cout
<<"最后讓我們來測(cè)試一下reverse(逆轉(zhuǎn)函數(shù))"<<endl;
    cout
<<"我們將分別輸入-1,1  -1,1 2 -1 以及9 8 7 6 5 4 3 2 1 -1進(jìn)行測(cè)試"<<endl;

    
for(i=1;i<=4;i++)
    {
        test.creat();
        test.print();
        test.reverse();
        test.print();
        test.initial();
    }
    cout
<<endl;
    system(
"pause");
    system(
"cls");
    

    cout
<<"經(jīng)過以上測(cè)試,可以認(rèn)為這個(gè)類是基本正確的,如果您在使用過程中遇到問題可以及時(shí)與我取得聯(lián)系,謝謝您的使用,再見!"<<endl;
    system(
"pause");
    
return 0;

}








posted on 2009-02-23 22:47 abilitytao 閱讀(1198) 評(píng)論(6)  編輯 收藏 引用

評(píng)論

# re: 張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試 2009-02-24 00:37 陳梓瀚(vczh)

用cout輸出錯(cuò)誤無法接受,改之。  回復(fù)  更多評(píng)論   

# re: 張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試[未登錄] 2009-02-24 10:31 abilitytao

@陳梓瀚(vczh)
因?yàn)閏out是帶緩沖輸出嗎?
我是初學(xué)者,如果用printf的話,有什么區(qū)別呢?
  回復(fù)  更多評(píng)論   

# re: 張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試 2009-02-24 17:19 陳梓瀚(vczh)

@abilitytao
萬一他想把錯(cuò)誤輸出到MessageBox的話,你那個(gè)做法豈不是完蛋了么。  回復(fù)  更多評(píng)論   

# re: 張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試[未登錄] 2009-02-24 17:45 abilitytao

@陳梓瀚(vczh)
我還是初學(xué)者 你說的MessageBox是不是MFC里面的東西呢?
恕我冒昧 可否告訴我應(yīng)該如何解決呢?
  回復(fù)  更多評(píng)論   

# re: 張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試 2009-02-24 20:50 空明流轉(zhuǎn)

@abilitytao

你這種設(shè)計(jì)風(fēng)格是有問題的.

如果有錯(cuò),你應(yīng)該通過返回值或異常等語言內(nèi)建的方式提供錯(cuò)誤信息,

使用什么樣的方式錯(cuò)誤處理過程應(yīng)該由調(diào)用方解決.  回復(fù)  更多評(píng)論   

# re: 張宏數(shù)據(jù)結(jié)構(gòu)第二課——?jiǎng)討B(tài)線性鏈表類(sqlist測(cè)試版) 歡迎大家測(cè)試[未登錄] 2009-02-25 21:14 abilitytao

@空明流轉(zhuǎn)
在下初學(xué) 能否說得再具體一些呢?  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            9国产精品视频| 蜜乳av另类精品一区二区| 欧美一区二区三区视频免费| 日韩天堂在线观看| 亚洲精品美女久久久久| 亚洲免费精品| 一本色道久久加勒比88综合| 亚洲免费中文| 久久久久久久久久看片| 欧美激情精品久久久久久大尺度 | 亚洲欧美日韩精品在线| 欧美一区二区三区电影在线观看| 欧美在线精品一区| 欧美高清一区二区| 国产精品亚洲综合天堂夜夜| 激情欧美一区二区三区| 亚洲最新视频在线| 久久久久国产精品一区二区| 欧美激情一区二区三区在线 | 亚洲调教视频在线观看| 久久成人久久爱| 欧美精选午夜久久久乱码6080| 国产精品二区二区三区| 激情欧美日韩一区| 亚洲一区免费| 亚洲成色www久久网站| 亚洲精品国精品久久99热| 午夜在线成人av| 欧美成人免费小视频| 国产精品视频午夜| 亚洲精品视频在线播放| 久久不射2019中文字幕| 亚洲乱码国产乱码精品精| 久久久视频精品| 国产欧美日本一区二区三区| 亚洲精品久久久久久久久久久久久| 亚洲欧美春色| 日韩午夜在线播放| 欧美高清一区| 亚洲国产精品成人精品| 久久精品国产免费观看| 亚洲一区影院| 欧美日韩一区二区三区视频| 美腿丝袜亚洲色图| 久久久午夜精品| 亚洲特黄一级片| 欧美日韩a区| ●精品国产综合乱码久久久久| 性一交一乱一区二区洋洋av| 日韩天天综合| 欧美日韩国产探花| 99国产精品一区| 亚洲欧洲精品一区二区精品久久久| 久久九九热免费视频| 国产亚洲毛片在线| 久久久91精品国产| 欧美伊人久久大香线蕉综合69| 国产美女精品视频| 久久福利毛片| 欧美专区在线| 国产自产在线视频一区| 久久久最新网址| 欧美一区二区三区免费观看视频 | 国产欧美日韩综合一区在线播放| 亚洲一区一卡| 国产精品99久久久久久宅男| 欧美性大战xxxxx久久久| 99爱精品视频| 亚洲免费观看高清完整版在线观看| 欧美69视频| 99国产欧美久久久精品| av成人免费观看| 国产精品久久久久久久电影| 亚洲午夜激情免费视频| 亚洲欧美怡红院| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 在线观看91久久久久久| 欧美成人一区在线| 欧美另类videos死尸| 亚洲视频在线一区| 亚洲欧美激情视频| 伊人夜夜躁av伊人久久| 欧美承认网站| 欧美日韩在线一区| 久久精品国产久精国产一老狼 | 99视频精品在线| 国产精品99久久久久久久久| 国产一区二区三区高清在线观看| 国产精品日韩一区二区三区| 久久婷婷国产麻豆91天堂| 免播放器亚洲| 亚洲欧美日韩国产| 久久中文字幕一区| 亚洲丝袜av一区| 欧美在线一级va免费观看| 野花国产精品入口| 欧美中文字幕视频在线观看| 亚洲精品在线一区二区| 欧美日韩中文字幕在线| 欧美大片91| 欧美日韩另类丝袜其他| 久久久噜噜噜久噜久久| 免费久久久一本精品久久区| 亚洲一区国产精品| 久久精品中文字幕一区二区三区| 亚洲人永久免费| 欧美一区影院| 亚洲欧美激情视频| 欧美精品在线观看| 久久五月婷婷丁香社区| 国产精品久久久久国产a级| 欧美成人中文字幕| 国产一区二区三区久久久| 一本色道久久综合亚洲91| 亚洲经典在线看| 久久精品人人| 欧美在线视频导航| 国产精品sss| 亚洲肉体裸体xxxx137| 亚洲黄色免费| 久久精品亚洲乱码伦伦中文| 欧美一区二区三区在线| 欧美午夜电影一区| 亚洲麻豆av| 日韩一区二区福利| 欧美大片va欧美在线播放| 美女图片一区二区| 伊人久久大香线蕉综合热线| 午夜久久电影网| 欧美亚洲一区二区三区| 国产精品成人v| 亚洲资源在线观看| 欧美一区二区免费| 国产精品久久久久毛片大屁完整版 | 一区二区三区视频在线播放| 免费永久网站黄欧美| 美日韩精品视频| 在线播放不卡| 欧美freesex交免费视频| 亚洲国产精品黑人久久久| 亚洲麻豆一区| 欧美激情五月| 一本不卡影院| 欧美一区二区高清在线观看| 国产日韩亚洲欧美| 久久偷窥视频| 亚洲成色777777在线观看影院 | 裸体一区二区三区| 亚洲国产专区校园欧美| 欧美国产视频在线| 日韩视频在线你懂得| 亚洲综合日本| 国产亚洲综合性久久久影院| 久久久久国产精品人| 欧美韩日亚洲| 亚洲少妇一区| 国产精品伊人日日| 久久伊人亚洲| 99国产精品久久久久久久| 午夜久久美女| 欲色影视综合吧| 久久躁日日躁aaaaxxxx| 国产麻豆9l精品三级站| 亚洲午夜精品一区二区三区他趣| 午夜精品久久久久久久蜜桃app | 欧美一级片在线播放| 国内自拍亚洲| 欧美激情bt| 午夜一区二区三区在线观看| 麻豆精品精华液| 亚洲网站在线观看| 国产精品嫩草久久久久| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品国久久99热| 久久都是精品| 一区二区欧美视频| 国内不卡一区二区三区| 欧美日韩免费观看一区=区三区| 欧美在线资源| 一区二区成人精品| 欧美14一18处毛片| 亚洲欧美日韩精品久久| 亚洲电影在线看| 国产精品成人免费| 欧美—级在线免费片| 久久九九99视频| 亚洲性av在线| 亚洲日本精品国产第一区| 久久夜精品va视频免费观看| 亚洲欧美久久久久一区二区三区| 亚洲黄色一区| 国产一级精品aaaaa看| 欧美亚一区二区| 欧美大香线蕉线伊人久久国产精品| 欧美一区二区日韩一区二区| 中日韩高清电影网| 亚洲精品三级| 亚洲国产高清一区| 美女视频网站黄色亚洲| 久久亚洲精品欧美|