0
点赞
收藏
分享

微信扫一扫

c++类、结构体、链表

夏侯居坤叶叔尘 2022-02-12 阅读 114
//#include<iostream>
//#include<string>
//using namespace std;
//
//struct Node{                       //节点模板 结构体
//	int data;
//	struct Node* next;
//};
//struct Node* createList()          //链表模板 结构体
//{
//	Node*newNode = new Node;
//	newNode->next = nullptr;
//	return newNode;
//}
//struct Node* createNode(int data)  //创捷新节点 且连接链表的结构体
//{
//	Node* newNode = new Node;
//	newNode->data = data;
//	newNode->next = nullptr;
//	return newNode;
//}
//
//void insertData(Node* headNode, int data)
//{
//	Node* newNode = createNode(data);
//	newNode->next = headNode->next;
//	headNode->next = newNode; 
//}
//void printfList(Node* headNode)
//{
//	Node* pMove = headNode->next;
//	while (pMove != nullptr)
//	{
//		cout << pMove->data << "\t";
//		pMove = pMove->next;
//	}
//	cout << endl;
//}
//void testListC()//C语言
//{
//	Node* list = createList();
//	insertData(list, 10);
//	insertData(list, 20);
//	printfList(list);
//}
//int main()
//{
//	testListC();
//	return 0;
//}

//#include<iostream>
//#include<string>
//using namespace std;
//struct Node
//{
//	int data;
//	Node*next;
//};
//class List
//{
//public :
//	void createList()
//	{
//		headNode = new Node;
//		headNode->next = nullptr;
//	}
//	void insertData(int data)
//	{
//		Node* newNode = new Node;
//		newNode->data = data;
//		newNode->next = nullptr;
//
//		newNode->next = headNode->next;
//		headNode->next=newNode  ;
//
//	}
//
//	void printfList()
//	{
//		Node*pMove = headNode->next;
//		while (pMove != nullptr)
//		{
//			cout << pMove->data << "";
//			pMove = pMove->next;
//		}
//		cout << endl;
//	}
//protected://用一个指针表示整个表头
//	Node* headNode;
//};
//void testList1()
//{
//	List* pList = new List;//List list;//c++第一步,创建对象
//	pList->createList();
//	pList->insertData(10);
//	pList->insertData(20);
//	pList->printfList();
//}
//int main()
//{
//
//	testList1();
//	return 0;
//}
#include<iostream>
#include<string>
using namespace std;

class Node
{
public ://用类去写,显著特点是需要接口交互数据
	Node*& getNext()
	{
		return next;
	}
	int& getData()
	{
		return data;
	}
protected:
	int data;
	Node*next;
};
class List
{
public :
	void createList()                              //第二步,创建初始化链表的方法(值无,指向空)
	{
		headNode = new Node;
		headNode->getNext() = nullptr;
	}
	void insertData(int data)                     //第三步,创建增加节点的方法
	{
		Node*newNode = new Node;
		newNode->getNext() = nullptr;
		newNode->getData() = data;
		newNode->getNext() = headNode->getNext();
		headNode->getNext() = newNode;
	}
	void printfList()                           //最后一步,打印链表的函数
	{
		Node* pMove = headNode->getNext();
		while (pMove != nullptr)
		{
			cout << pMove->getData() << "\t";
			pMove = pMove->getNext();
		}
		cout << endl;
	}
protected:                                      //第一步创建未初始化的头结点的
	Node*headNode;
};
void testList1()                                    //结尾的调用
{
	List* pList=new List;//List list;//c++第一步,创建对象
	pList->createList();
	pList->insertData(10);
	pList->insertData(20);
	pList->printfList();
}
int main()
{
	testList1();//调用 调用方法。
	return 0;
}
举报

相关推荐

0 条评论