日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++链表的操作

發布時間:2025/3/8 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++链表的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream>
using namespace std;
class Item
{
??????public:
??????????friend class List;
??????private:
??????????Item(int d=0){data=d;next=0;}
??????????Item *next;
??????????int data;
};
class List
{
????private:
??????Item *list;
??????Item *endl();
????public:
????????List(){list =NULL;}
????????List(int d){list=new Item(d);}
????????int print();//輸出
????????int insert(int d=0);///前插入節點
????????int append(int d=0);//尾插入節點
????????void cat(List &il);//連接
????????void reverse();//刪除節點
????????int length();//求鏈表長度
????????
};
int List::length()
{
????int len=0;
????Item *tp;
????tp=list;
????while(tp!=NULL)
????{
???? len++;
???? tp=tp->next;
????}
????return len;
}
void List::reverse()
{
????if(list==NULL)
???? cout<<"is empty...";
????Item *tp;
????tp=list->next;
????delete[] list;
????list=tp;
}
int List::append(int d)
{
????Item *tp=new Item(d);
????Item *p;
????
????if(list==NULL)
????list=tp;
??else
??{
????p=list;
????while(true)
????{
??????if(p->next==NULL)
??????{
????????p->next=tp;
????????break;
??????}
??????p=p->next;
????}
??}
??return 0;
}
int List::insert(int d)
{
??????Item *p=new Item(d);
????p->next=list;
????list=p;
????return 1;
}
void List::cat(List &il)
{
??Item *p=il.list;
??while(p)
??{
????append(p->data);
????p=p->next;
??}
}
int List::print()
{
????if(list==0)
????{

???? cout<<"empty\n";
???? return 0;
????}
????cout<<"(";
????int cnt=0;
????Item *pt=list;
????while(pt)
????{
???? cnt++;
???? cout<<pt->data<<" ";
???? pt=pt->next;
????}
????cout<<")\n";
????return cnt;??
}
int main()
{
????List li(9);
????li.append(8);
????li.insert(8);
????li.insert(4);
????li.insert(3);
??????List L(0);
????L.insert(2);
????L.append(4);
????L.append(3);
????L.append(6);
????L.cat(li);
????L.reverse();
????L.reverse();
????L.print();
????cout<<"\n該鏈表的長度為:"<<L.length()<<"\n";
????getchar();
??????return 0;??
}






轉載于:https://blog.51cto.com/jornathan/524462

總結

以上是生活随笔為你收集整理的c++链表的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。