头文件ListNode.h
struct ListNode{
int m_nValue;
ListNode* m_pNext;
};
// 用于声明导入导出函数
// __declspec(dllexport) 声明一个导出函数,一般用于dll中
// __declspec(dllimport) 声明一个导入函数,一般用于使用某个dll的exe中
__declspec(dllexport) ListNode* CreateListNode(int value);
__declspec(dllexport) void ConnectListNodes(ListNode* pCurrent, ListNode* pNext);
__declspec(dllexport) void PrintListNode(ListNode* pNode);
__declspec(dllexport) void PrintList(ListNode* pHead);
__declspec(dllexport) void DestroyList(ListNode* pHead);
__declspec(dllexport) void AddToTail(ListNode** pHead, int value);
__declspec(dllexport) void RemoveNode(ListNode** pHead, int value);
源文件List.cpp
链表的创建,链表的连接,输出当前结点,遍历链表并依次输出,删除链表,在链表末尾添加一个节点,链表中删除操作,链表元素倒序输出。
#include "ListNode.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
ListNode* CreateListNode(int value){
ListNode* pNode = new ListNode(); //新建一个链表结点
pNode -> m_pNext = nullptr;
pNode -> m_nValue = value;
return pNode;
}
void ConnectListNodes(ListNode* pCurrent, ListNode* pNext){