国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

簡單模板鏈表。增查刪改

2019-11-11 03:33:26
字體:
來源:轉載
供稿:網友

一個結構體放node

一個鏈表類 A

插入是尾插 中間插入就

newNode->插入那個位置的前驅的Next

前驅->newNode 就好了

HPP

#include<iostream>template<typename T>struct Node{	T data;	Node*pNext;};template<typename T>class A{public:A(){ pHead = nullptr; };	   ~A(){		   Node<T>*p = nullptr;		  		   while (pHead)		   {			   p = pHead;			   pHead = pHead->pNext;			   delete p;			   p = nullptr;		   }	   };	   void Insert(T d);	   bool Delete(T d);	   bool Change(T d, T o);	   bool Find(T d);	   void show();PRivate:	Node<T>* pHead;};template<typename T>void A<T>::Insert(T d){	Node<T>*nNode = new Node<T>;	nNode->data = d;	nNode->pNext = nullptr;	if (pHead == nullptr)	{		pHead = nNode;		return;	}	Node<T>*p = pHead;	while (p->pNext)	{		p = p->pNext;	}		p->pNext = nNode;}template<typename T>void A<T>::show(){	Node<T>*p = pHead;		while (p)	{		cout << p->data << endl;		p = p->pNext;	}	}template<typename T>bool A<T>::Find(T d){	Node<T>*p = nullptr;	p = pHead;	while (p)	{		if (p->data==d)		{			return true;		}		p = p->pNext;	}	return false;}template<typename T>bool A<T>::Delete(T d){	Node<T>*p = nullptr;	p = pHead;	if (!p)		return false;	if (pHead->data == d)	{		Node<T>*dd = pHead;		pHead = pHead->pNext;		delete dd;		dd = nullptr;		return true;	}	while (p->pNext)	{		if (p->pNext->data == d)		{			Node<T>*dd = p->pNext;			p->pNext = p->pNext->pNext;			delete dd;			dd = nullptr;			return true;		}		p = p->pNext;	}	return false;}template<typename T>bool A<T>::Change(T d, T o){	if (d==o)	{		return true;	}	Node<T>*p = pHead;	while (p)	{		if (p->data == d)		{			p->data = o;			return true;		}		p = p->pNext;	}	return false;}

CPP

#include "h.hpp"using namespace  std;int main(){	A<int>a;	a.Insert(1);	a.Insert('c');//ASCII	a.Insert('g');	a.show();	if (a.Find(1))	{		cout << "find/n";	}	else	{		cout << "gg/n";//GG代表失敗	}	if (a.Change(1,2))//把1變為2	{		cout << "Change/n";	}	else	{		cout << "gg/n";	}	if (a.Change(1, 2))	{		cout << "Change/n";	}	else	{		cout << "gg/n";	}	if (a.Change(2, 1))	{		cout << "Change/n";	}	else	{		cout << "gg/n";	}	if (a.Delete('e'))	{		cout << "delete/n";	}	else	{		cout << "gg/n";	}	if (a.Delete(1))	{		cout << "delete/n";	}	else	{		cout << "gg/n";	}	if (a.Find(1))	{		cout << "find";	}	else	{		cout << "gg";	}		}

這是運行結果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新沂市| 漾濞| 华容县| 文成县| 侯马市| 滦平县| 驻马店市| 乌鲁木齐县| 商水县| 鲜城| 达日县| 聂拉木县| 酉阳| 洛南县| 永善县| 柳江县| 姜堰市| 明溪县| 肇东市| 乐山市| 葫芦岛市| 镇安县| 武定县| 江油市| 方山县| 昆山市| 托克托县| 峡江县| 新泰市| 合江县| 沐川县| 如东县| 新绛县| 洛浦县| 田林县| 贵定县| 岫岩| 商南县| 昭通市| 达拉特旗| 绩溪县|