亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? homework2.cpp

?? 請編寫一個程序
?? CPP
字號:
#include<iostream.h>
//單鏈表節點類
template<class ElemType>class List;// 單鏈表類的向前說明
template<class ElemType>class ListItr;// 單鏈表迭代器類的向前說明
template<class ElemType>class ListNode{
	friend class List<ElemType>;// 單鏈表類為其友元類, 便于訪問結點類中的私有成員
	friend class ListItr<ElemType>; //單鏈表迭代器類為其友元類, 便于訪問結點類中的私有成員
	private:
		ListNode<ElemType> *Next; // 指向下一個結點的指針。
		ElemType Element;// 結點數據。
	public:
		ListNode(const ElemType &E,ListNode<ElemType> *N=NULL)
			:Element(E),Next(N){}// 構造函數
		ListNode():Next(NULL){}// 析構函數
		~ListNode(){}
};
//單鏈表類
template<class ElemType>class List{
	friend class ListItr<ElemType>;    // 單鏈表迭代器類為其友元類
	private:
		ListNode<ElemType> *head;// 指向頭結點的指針
	public:
		List(){head=new ListNode<ElemType>();}
		~List(){MakeEmpty();delete head;}// 析構函數
		const List &operator = (const List&R);// 完成復制功能。
		int IsEmpty()const{return head->Next==NULL;}
		int IsFull()const {return 0;}
		void MakeEmpty();
	    List& operator ^ (List<ElemType> &);//求兩個的交集
};
template<class ElemType>
const List<ElemType>&List<ElemType>::operator = (const List<ElemType>&R){
	if(this==&R) return *this;      // 同一單鏈表,不必賦值。
	MakeEmpty();	// 清空單鏈表。
	ListItr<ElemType>Itr(*this);
	for(ListItr<ElemType>Ritr(R);+Ritr;Ritr++) Itr.Insert(Ritr());
	return *this;// 根據單鏈表R 的結點數據值,創建新結點,并插入到當前鏈表
}
template<class ElemType>
List<ElemType> & List<ElemType>::operator ^ (List<ElemType> &l)//求交集
{
	ListItr<ElemType> listitr1(*this),listitr2(l);
	ElemType a,b;
	for(;+listitr1&&+listitr2;){
		a=listitr1();b=listitr2();
		if(a>b){				//a大時		
			listitr2++;
			listitr2.Remove(b);
		}
		else 
			if(a<b){
//               listitr1++;
			   listitr1.Remove(a);   //a小時

		}
		else{		           //相等時
			listitr1++;
			listitr2++;
		}
	}
	for(;+listitr1;){//a為最后一個數據,而b都比它小時
		a=listitr1();
        listitr1++;
		listitr1.Remove(a);
	}
    return *this;
}

template<class ElemType>
void List<ElemType>::MakeEmpty(){
	ListNode<ElemType> *Ptr;
	ListNode<ElemType> *NextNode;
	for(Ptr=head->Next;Ptr!=NULL;Ptr=NextNode)
	{
		NextNode=Ptr->Next;
		delete Ptr;
	}
	head->Next=NULL;
}

template<class ElemType>
ostream &operator<<(ostream & Out,const List<ElemType> &L){
	if(L.IsEmpty()) Out<<"Empty List!";
	else for(ListItr<ElemType>Itr(L);+Itr;++Itr) Out<<Itr()<<endl;
	return Out;
}
template<class ElemType>
istream &operator>>(istream & is, List<ElemType> &L)
{
	ElemType a;
	ListItr<ElemType> Itr(L);
    while(is>>a,a!=-1) Itr.Insert(a);
	return is;
}
template<class ElemType>class ListItr{
private:
	ListNode<ElemType> * const head;// 指向頭結點的常指針
	ListNode<ElemType> * Current; // 指向當前結點的指針
public:
	ListItr(const List<ElemType>&L):head(L.head)
	{Current=L.IsEmpty()?head:head->Next;}
	~ListItr(){} // 析構函數
	int Find(const ElemType &x);      // 查找值為x的結點,查找成功則使其成為當前結點,并返回True
	int IsFound(const ElemType &x) const;// 查找值為x的結點,查找成功返回True,否則返回False;不改變指針Current的值
	void Insert(const ElemType &x);  // 插入成功,新結點成為當前結點
	int Remove(const ElemType &x);  // 刪除值為x的結點的操作
	int operator+()const
	{return Current && Current!=head;}  //當前結點非空則返回Ture
	const ElemType& operator()()const;  //取當前結點的數據值
	void operator++();   	// 使當前結點的直接后繼結點成為當前結點 前綴++運算符
    void operator++(int){operator++();}  // 將后綴運算符++定義為前綴++運算符
	void Zeroth(){Current=head;}// 當前指針指向頭結點
	void First();   // 當前指針指向首結點
	const ListItr &operator = (const ListItr &);// 賦值運算符
};
template<class ElemType>
void ListItr<ElemType>::Insert(const ElemType&x){
	ListNode<ElemType> *p;
	p=new ListNode<ElemType>(x,Current->Next);
	Current=Current->Next=p;
}
template<class ElemType>
int ListItr<ElemType>::Find(const ElemType &x){
	ListNode<ElemType> * Ptr=head->Next;
    while(Ptr!=NULL&&!(Ptr->Element==x)) Ptr=Ptr->Next;
	if(Ptr==NULL)return 0;
	Current=Ptr;
	return 1;
}
template<class ElemType>
int ListItr<ElemType>::IsFound(const ElemType &x) const{
	ListNode<ElemType> *Ptr=head->Next;
	while(Ptr!=NULL&&!(ptr->Element==x)) Ptr=Ptr->Next;
	return Ptr!=NULL;
}
template<class ElemType>
int ListItr<ElemType>::Remove(const ElemType&x){
    ListNode<ElemType>*Ptr=head;
    while(Ptr->Next!=NULL&&!(Ptr->Next->Element==x))
		Ptr=Ptr->Next;
	if(Ptr->Next==NULL)
		return 0;
	ListNode<ElemType> *p=Ptr->Next;
	Ptr->Next=Ptr->Next->Next;
	delete p;
	return 1;
}
template<class ElemType>
const ElemType &ListItr<ElemType>::operator ()()const{
	return Current->Element;
}
template<class ElemType>
void ListItr<ElemType>::operator ++ (){
	Current=Current->Next;
}
template<class ElemType>
const ListItr<ElemType>&ListItr<ElemType>::operator = (const ListItr<ElemType>&R){
	if(this==&R) return *this;
	Current=R.Current;
	return *this;
}
template<class ElemType>
void ListItr<ElemType>::First(){
	Current=head->Next;
}

int main()
{
	List<int> a,b;
	cout<<"Input two lists and -1 to stop:";
	cin>>a;
	cin>>b;
	cout<<"The same:";
	cout<<(a^b);
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩极品在线观看| 亚洲综合在线五月| 欧美一区二区成人| 亚洲不卡av一区二区三区| 欧美在线一二三四区| 波多野结衣91| www.一区二区| 99久久99久久精品国产片果冻| 国产1区2区3区精品美女| 亚洲欧洲精品一区二区三区| 欧美午夜免费电影| 在线一区二区观看| 精品一区二区三区在线播放| 久久精品国产亚洲一区二区三区| 久久精品免费在线观看| 欧美激情一区三区| 亚洲精品水蜜桃| 欧美成人r级一区二区三区| 丁香一区二区三区| 色婷婷精品大视频在线蜜桃视频| 日本高清免费不卡视频| 欧美日韩精品系列| 精品国产91洋老外米糕| 欧洲精品一区二区| 欧美日韩一区二区三区四区五区| 国产寡妇亲子伦一区二区| 亚洲韩国一区二区三区| 日本免费新一区视频| 国产伦精品一区二区三区在线观看 | 一色屋精品亚洲香蕉网站| 亚洲综合在线电影| 久久精品国产色蜜蜜麻豆| 一区二区三区高清不卡| 日本一区二区不卡视频| 欧美v国产在线一区二区三区| 久久久精品免费网站| 一卡二卡欧美日韩| 久久99蜜桃精品| 在线一区二区观看| 一本色道a无线码一区v| 日韩一区二区三区电影在线观看| 97精品视频在线观看自产线路二 | 亚洲综合色丁香婷婷六月图片| 精品久久久久久久久久久院品网| 国产精品麻豆欧美日韩ww| 久久综合99re88久久爱| 亚洲福利视频一区二区| 成人a级免费电影| 99综合电影在线视频| 欧美一级理论片| 亚洲一区二区三区国产| 岛国精品在线播放| 精品欧美一区二区在线观看| 日韩欧美精品三级| 欧美大片一区二区| 午夜精品国产更新| av动漫一区二区| 国产日韩高清在线| 最新国产精品久久精品| 黄页网站大全一区二区| 国产黄人亚洲片| 成人国产亚洲欧美成人综合网 | 中文字幕一区视频| 国产精品一品二品| 丰满白嫩尤物一区二区| 精品日韩99亚洲| 国产女主播视频一区二区| 国产欧美一区二区精品久导航| 日本欧美韩国一区三区| 在线不卡免费av| 欧美精品一区二区三区蜜桃| 图片区小说区国产精品视频| 美女国产一区二区| 555www色欧美视频| 日韩国产精品大片| 国产精品主播直播| 337p日本欧洲亚洲大胆色噜噜| 国产精品伦一区| 亚洲一区二区av在线| 青青青爽久久午夜综合久久午夜 | 国产在线观看一区二区| 日韩三级电影网址| 久草热8精品视频在线观看| 欧美一区二区三区四区视频| 久久久不卡网国产精品二区| 亚洲日本电影在线| 色婷婷久久久久swag精品| 一区二区欧美在线观看| 国产综合成人久久大片91| 日韩免费高清av| 国产成人免费av在线| 国产精品福利在线播放| 蜜臀av性久久久久蜜臀aⅴ流畅| 狠狠狠色丁香婷婷综合久久五月| 99精品国产热久久91蜜凸| 亚洲乱码国产乱码精品精98午夜| 日本亚洲免费观看| 久久久www成人免费毛片麻豆| 一区二区三区在线视频观看 | 久久精品人人做| eeuss鲁片一区二区三区| 亚洲综合在线第一页| 69堂精品视频| 成人性生交大片免费看中文| 亚洲人成网站在线| 国产一区二区日韩精品| 777久久久精品| 国产黄色精品视频| 久久久影视传媒| 91捆绑美女网站| 日本亚洲免费观看| 91精品免费在线观看| 一区二区三区不卡视频在线观看| 在线不卡的av| 99国产精品久久久久| 美女国产一区二区三区| 亚洲色大成网站www久久九九| 正在播放亚洲一区| 91视频com| 国产一区二区三区免费| 亚洲成人自拍偷拍| 欧美性感一区二区三区| 粉嫩aⅴ一区二区三区四区| 久久久91精品国产一区二区精品| 奇米色777欧美一区二区| 中文字幕在线观看不卡视频| 精品国精品国产| 精品写真视频在线观看| 亚洲精品五月天| 欧美日韩精品一区二区三区四区 | 亚洲综合精品久久| 国产三区在线成人av| 日韩午夜电影av| 麻豆91精品91久久久的内涵| 亚洲在线视频免费观看| 欧美色网一区二区| 午夜欧美视频在线观看| 欧美日韩高清一区二区三区| 99久久精品国产麻豆演员表| 国产精品综合网| 成人免费在线播放视频| 亚洲精品一区二区三区精华液| 欧美老人xxxx18| 欧美三级乱人伦电影| 欧美亚洲尤物久久| 欧美丝袜第三区| 欧美二区乱c少妇| 欧美精品日韩一本| 91.xcao| 6080亚洲精品一区二区| 懂色一区二区三区免费观看 | www.一区二区| 亚洲二区在线视频| 欧美成人性福生活免费看| 国产成人精品1024| 国产精品乡下勾搭老头1| 国产麻豆9l精品三级站| 国产乱码一区二区三区| 亚洲另类一区二区| 亚洲精品亚洲人成人网| 亚洲观看高清完整版在线观看| 日韩一区二区三区免费看| 成人一级视频在线观看| 亚洲国产精品久久一线不卡| 一区二区在线看| 午夜一区二区三区在线观看| 亚洲成人激情综合网| 久久久久久电影| 国产精品对白交换视频 | 欧美在线免费观看视频| 蜜臀av亚洲一区中文字幕| 蜜臀av性久久久久蜜臀av麻豆| 中文字幕av资源一区| 亚洲欧美一区二区在线观看| 日韩精品中文字幕在线一区| www一区二区| 亚洲色图欧美激情| 爽爽淫人综合网网站| 1024成人网| 日韩精品免费视频人成| 国产精品538一区二区在线| 不卡的电影网站| 欧美综合一区二区| 精品盗摄一区二区三区| 在线电影欧美成精品| 精品国产第一区二区三区观看体验 | 久久午夜老司机| 亚洲欧美另类小说| 免费观看在线综合色| 亚洲成人精品影院| 国产福利不卡视频| 久久国产乱子精品免费女| av一区二区三区在线| 欧美一区二区在线免费播放| 国产精品网站导航| 日本不卡视频在线观看| 午夜久久电影网| 亚洲成人动漫av| www.久久久久久久久| 日韩欧美一区在线观看|