#include <iostream>using namespace std;class NODE{public:int data;NODE *next;};void fun(NODE *list,int x){NODE *u,*v,*p;u=list;v=u->next;while(v!=NULL&&x<v->data){u=v;v=v->next;}if(v==NULL||x>v->data){p=new NODE;p->data=x;p->next=v;u->next=p;}}void main(){int x;NODE *head,*p;head=new NODE;head->next=NULL;cout<<"Enter integers,end with 0"<<endl;while(1){cin>>x;if(x==0)break;fun(head,x);}for(p=head->next;p!=NULL;p=p->next)do{p=head->next;delete head;head=p;}while(p);}
1 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
void fun(NODE *list,int x) // 一個函數 ,第一個參數類型為NODE對象指針,第二個參數類型為int
{
NODE *u,*v,*p; // 聲明三個NODE對象的指針 u, v, p
u=list; // u指向list指向的地址
v=u->next; // v指向了u的下一個節點位置
while(v!=NULL&&x<v->data) // 循環,如果v指向的位置不為空并且x小于v指向對象的成員data
{
u=v; // u指向v,即u指向鏈表的下一個對象
v=v->next; // v指向了鏈表的下一個對象
}
if(v==NULL||x>v->data) // 判斷,如果v指向的位置為空,或者x大于v指向對象的成員data,只要滿足一個條件就執行以下括號里面的語句
{
p=new NODE; // 動態構造出一個NODE 對象(匿名對象)并且將對象的地址賦值給p
p->data=x; // 給匿名對象的成員賦值,data = x ;
p->next=v; // 匿名對象的next指向了v指向的對象
u->next=p; // 把匿名對象接入鏈表中適當的位置
}
}// 函數的作用:將變量x插入鏈表中,保證x前面的元素一定比x大
- 1 回答
- 0 關注
- 204 瀏覽
添加回答
舉報
0/150
提交
取消