#include <iostream> using namespace std; template <class T> class Node { /********** Begin **********/ }; /********** End **********/ int main() { int a[10]; Node<int> n[10]; // cout << "输入10 个整数:" << endl; for (int i = 0; i < 10; i ++) { cin >> a[i]; } for (int i = 0; i < 9; i ++) { n[i].data = a[i]; n[i].insertAfter(&n[i+1]); } n[9].data = a[9]; Node<int>* np = &n[0]; while (np != NULL) { cout << np->data << ' '; np = np->nextNode(); } cout << endl; int f; // cout << "请输入要查找的数:"; cin >> f; Node<int> p(0, &n[0]); np = &p; while (np->nextNode() != NULL) { while (np->nextNode() != NULL && np->nextNode()->data == f) np->deleteAfter(); if(np->nextNode() != NULL) np = np->nextNode(); } // cout << "删除后的链表:" << endl; np = p.nextNode(); while (np != NULL) { cout << np->data << ' '; np = np->nextNode(); } np = &p; while (np->nextNode() != NULL) np->deleteAfter(); cout << endl; return 0; }
时间: 2024-04-28 16:24:16 浏览: 6
这是一个单向链表的实现,其中 Node 类是链表节点的模板类,包含数据成员和指向下一个节点的指针。在主函数中,先输入 10 个整数,然后将它们依次插入到链表中。接着遍历链表,输出链表中的所有元素。最后输入一个要查找的数,从链表中删除所有值等于该数的节点,并输出删除后的链表。
需要注意的是,这段代码中的链表实现是单向链表,每个节点只有指向下一个节点的指针,没有指向前一个节点的指针。因此,在删除节点时需要先找到当前节点的前一个节点,然后将它的指针指向当前节点的下一个节点,再将当前节点删除。如果只记录当前节点,找到前一个节点的操作会比较麻烦。
相关问题
#include <iostream> using namespace std; /********* Begin *********/ class Complex
#include <iostream> 是C++语言中的一个预处理指令,用于引入标准输入输出流库。其中,iostream头文件定义了cin、cout、cerr和clog对象,分别代表标准输入流、标准输出流、非缓存错误输出流和缓存错误输出流。使用这些对象可以进行输入输出操作。
现在来介绍一下class Complex,它是一个复数类,可以表示实部和虚部为双精度数的复数。在这个类中,定义了一些成员函数,如重载运算符、计算模长、输出复数等。
注:如果需要了解更详细的内容,可以阅读C++相关教材或者参考CSDN社区中其他开发者的相关文章。
#include <iostream> using namespace std; class StInfo Begin//在此处声明StInfo类 End ********* ********* Begin *********| //在此处定义StInfo类
#include <iostream>
using namespace std;
class StInfo {
public:
string name;
int age;
string major;
void displayInfo() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Major: " << major << endl;
}
};
int main() {
StInfo student; // 创建一个StInfo类的对象
student.name = "John";
student.age = 20;
student.major = "Computer Science";
student.displayInfo(); // 调用StInfo类的displayInfo()函数显示学生信息
return 0;
}