node.h
class
node
node
(int val, node* pfront=
nullptr
, node* pnext=
nullptr);
//預設可以寫在宣告中,不要寫在定義中
~node()
;private
:int val;
node* pfront;
//前驅:指向前乙個節點
node* pnext;
//後驅:指向後乙個節點
};
node.cpp#include
"node.h"
node::
node
(int val, node* pfront, node* pnext)
:val
(val)
,pfront
(pfront)
,pnext
(pnext)
node::
~node()
2.1建構函式iterator::
iterator
(node* pnode)
:pnode
(pnode)
2.2過載後置++iterator iterator::
operator++(
int)
2.3過載前置++iterator& iterator::
operator++(
)
2.4過載後置–iterator iterator::
operator--(
int)
2.5過載前置–iterator& iterator::
operator--(
)
2.6過載*int
& iterator::
operator*(
)
2.7過載!=bool iterator::
operator!=(
const iterator& it)
2.8過載==bool iterator::
operator==(
const iterator& it)
const
2.9過載+iterator iterator::
operator+(
int val)
return it;
}
2:資料預設成員函式
3.1:建構函式
list::
list()
:phead
(new
node()
),prear
(new
node()
)
3.2:輸出函式void list::
printlist()
}
3.3:插入乙個新節點–前面void list::
push_front
(const
int& val)
3.4:插入乙個新節點–後面void list::
push_back
(const
int& val)
3.5:刪除最後乙個節點void list::
pop_back()
3.6:刪除第乙個節點void list::
pop_front()
3.7:雙向鍊錶翻轉void list::
reverse()
//交換輔助頭和輔助尾
node* ptemp = phead;
phead = prear;
prear = ptemp;
}
3.8:指定刪除iterator list::
erase
(iterator loc)
3.9:刪除乙個區間iterator list::
erase
(iterator start, iterator end)
return it;
}
3.10:獲取到頭節點iterator list::
begin()
3.11:獲取到尾節點iterator list::
end(
)
2.12:清空鍊錶void list::
clear()
2.13:插入元素iterator list::
insert
(iterator it,
const
int& val)
2.14:刪除相鄰的重複元素void list::
deladjacenttorepeat()
pnode = pnode-
>pnext;
}}
2.15:鍊錶排序void list::
sort()
}}}
2.16:鍊錶合併void list::
merge
(list &list)
else}if
(pnode-
>pnext == prear)
}
//新增元素
list li;
for(
int i =
1; i <=
10; i++
) li.
printlist()
; li.
pop_back()
;//刪除最後乙個
cout << endl;
li.printlist()
; cout << endl;
//iterator it = li.begin();
刪除第乙個
//cout << endl;
//iterator it = li.begin();
//iterator itt = li.begin();
//itt++;
// li.erase(it);//刪除乙個區間
//cout << endl;
li.clear()
;//清空鍊錶
刪除第乙個
//cout << endl;
php方法過載方法重寫 PHP類方法重寫原則
可能我們日常工作中很少用到這塊知識點,但我還是喜歡把遇到的卻不清楚的知識點摸清 php的類方法重寫規則 1 final修飾的類方法不可被子類重寫 final修飾的類方法不可被子類重寫 即便final private方法無法被繼承 子類仍不能對齊進行重寫 class finalmethod 可繼承不可...
C 抽象類使用及方法重寫與過載
建立乙個抽象類a,該類中包含乙個求兩個數之和抽象方法。建立乙個子類b,在b中重寫求和方法,且使用方法過載使得方法可以 分別計算整數 雙精度和字串。using system using system.collections.generic using system.linq using system....
C 中繼承實現父類方法 重寫 過載
c 中子類重寫父類方法的幾種情況,關鍵字 virtual abstract override new。此處不說abstract,以後補充 virtual 不是必須被子類重寫的方法,父類必須給出實現,子類可以重寫 使用override,new,或無特殊標誌的普通方法 也可以不重寫該方法。new 重寫父...