求一个最简单的C++链表程序

2025-02-07 12:27:32
推荐回答(1个)
回答1:

class 静态链表ListEntry
{
public:
static 静态链表ListEntry* 第一项fistentry;
静态链表ListEntry(char*);
~静态链表ListEntry(){ delete[] 链表值listvalue; };
static 静态链表ListEntry* 第一项FistEntry() { return 第一项fistentry; };
静态链表ListEntry* 下一个条目NextEntry() const { return 末尾项nextentry; };
void 显示display() const{ std::cout << 链表值listvalue << std::endl; };
private:
静态链表ListEntry* 末尾项nextentry;
char* 链表值listvalue;
static 静态链表ListEntry* 上个条目lastentry;
};
静态链表ListEntry* 静态链表ListEntry::第一项fistentry;
静态链表ListEntry* 静态链表ListEntry::上个条目lastentry;
静态链表ListEntry::静态链表ListEntry(char* 内容)
{
if (第一项fistentry == 0)第一项fistentry = this;
if (上个条目lastentry != 0)上个条目lastentry->末尾项nextentry = this;
上个条目lastentry = this;
链表值listvalue = new char[std::strlen(内容) + 1];
strcpy_s(链表值listvalue, 20, 内容);
末尾项nextentry = 0;
};
int _tmain(int argc, _TCHAR* argv[])
{
while (1)
{
std::cout << "结束输入end" << endl;
char 名称name[20];
std::cin >> 名称name;
if (std::strncmp(名称name, "end", 3) == 0)break;
new 静态链表ListEntry(名称name);
};
静态链表ListEntry* 下一个next = 静态链表ListEntry::第一项FistEntry();
while (下一个next != 0)
{
下一个next->显示display();
静态链表ListEntry* 编号hoid = 下一个next;
下一个next = 下一个next->下一个条目NextEntry();
//delete 编号hoid;
};
}