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

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

簡單模板鏈表。增查刪改

2019-11-11 02:19:21
字體:
來源:轉載
供稿:網友

一個結構體放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";	}		}

這是運行結果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太原市| 三穗县| 子长县| 屯门区| 宁国市| 广丰县| 潞城市| 洪雅县| 宜阳县| 博野县| 林周县| 桂阳县| 始兴县| 临武县| 南乐县| 宜都市| 邵东县| 宜州市| 黔南| 专栏| 新竹市| 定州市| 汕尾市| 洪泽县| 荣昌县| 将乐县| 平远县| 乃东县| 玉田县| 宁海县| 秦安县| 香河县| 南通市| 邛崃市| 云安县| 北安市| 宽甸| 西华县| 阿克陶县| 石棉县| 土默特右旗|