国产探花免费观看_亚洲丰满少妇自慰呻吟_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";	}		}

這是運行結果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庄浪县| 澎湖县| 翼城县| 宜宾县| 饶阳县| 黔东| 新竹县| 西林县| 米泉市| 大宁县| 普陀区| 浦江县| 衡山县| 大新县| 兴安盟| 彰武县| 西和县| 高平市| 广河县| 突泉县| 夏津县| 司法| 麻栗坡县| 武汉市| 柯坪县| 南京市| 清徐县| 榆中县| 巴彦淖尔市| 晋中市| 盐山县| 盖州市| 东至县| 平邑县| 洪洞县| 敦煌市| 互助| 黄骅市| 中江县| 威信县| 吴桥县|