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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

簡(jiǎn)單模板鏈表。增查刪改

2019-11-11 02:18:41
字體:
供稿:網(wǎng)友

一個(gè)結(jié)構(gòu)體放node

一個(gè)鏈表類 A

插入是尾插 中間插入就

newNode->插入那個(gè)位置的前驅(qū)的Next

前驅(qū)->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變?yōu)?	{		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";	}		}

這是運(yùn)行結(jié)果


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凌云县| 苏州市| 同心县| 息烽县| 新宾| 肇州县| 白玉县| 东丰县| 茌平县| 理塘县| 绥阳县| 宝丰县| 闽清县| 昭觉县| 颍上县| 永济市| 庆阳市| 清新县| 阿拉善右旗| 漳州市| 秦安县| 南安市| 清徐县| 蕲春县| 哈巴河县| 东安县| 晴隆县| 岳池县| 宜川县| 盘锦市| 丽水市| 湖北省| 嘉禾县| 西华县| 濮阳县| 安国市| 黄浦区| 洱源县| 丰台区| 图木舒克市| 同德县|