当前位置: 首页 > wzjs >正文

系统管理员已阻止这个应用seo综合查询软件排名

系统管理员已阻止这个应用,seo综合查询软件排名,几大网站类型,无锡建设网站在C中实现链表是一种常见的练习,有助于理解指针和动态内存分配的概念。下面是一个简单的单向链表(Singly Linked List)的实现示例,包括基本的操作如插入、删除和遍历。 单向链表 (Singly Linked List) 实现 1. 定义节点结构 首…

在C++中实现链表是一种常见的练习,有助于理解指针和动态内存分配的概念。下面是一个简单的单向链表(Singly Linked List)的实现示例,包括基本的操作如插入、删除和遍历。

单向链表 (Singly Linked List) 实现

1. 定义节点结构

首先定义一个节点结构体,包含数据部分和指向下一个节点的指针。

 

cpp

深色版本

#include <iostream>
using namespace std;// 定义节点结构
struct Node {int data;Node* next;
};
2. 链表类定义

接下来定义一个链表类,包含链表的基本操作:插入、删除、查找和打印。

 

cpp

深色版本

class LinkedList {
public:Node* head;// 构造函数初始化头节点为NULLLinkedList() : head(nullptr) {}// 插入节点到链表末尾void append(int value) {Node* newNode = new Node();newNode->data = value;newNode->next = nullptr;if (head == nullptr) {head = newNode;} else {Node* temp = head;while (temp->next != nullptr) {temp = temp->next;}temp->next = newNode;}}// 在指定位置插入节点void insertAt(int index, int value) {Node* newNode = new Node();newNode->data = value;if (index == 0) {newNode->next = head;head = newNode;} else {Node* temp = head;for (int i = 0; temp != nullptr && i < index - 1; i++) {temp = temp->next;}if (temp == nullptr || temp->next == nullptr) {cout << "Index out of bounds" << endl;return;}newNode->next = temp->next;temp->next = newNode;}}// 删除指定值的节点void deleteValue(int value) {if (head == nullptr) {cout << "List is empty" << endl;return;}if (head->data == value) {Node* temp = head;head = head->next;delete temp;return;}Node* temp = head;while (temp->next != nullptr && temp->next->data != value) {temp = temp->next;}if (temp->next == nullptr) {cout << "Value not found" << endl;return;}Node* nodeToDelete = temp->next;temp->next = temp->next->next;delete nodeToDelete;}// 查找指定值的节点bool search(int value) {Node* temp = head;while (temp != nullptr) {if (temp->data == value) {return true;}temp = temp->next;}return false;}// 打印链表void printList() {Node* temp = head;while (temp != nullptr) {cout << temp->data << " -> ";temp = temp->next;}cout << "NULL" << endl;}
};
3. 测试链表功能

最后,编写一个主函数来测试上述实现的功能。

 

cpp

深色版本

int main() {LinkedList list;// 插入一些节点list.append(1);list.append(2);list.append(3);// 打印链表cout << "Initial list: ";list.printList();// 在索引1处插入新节点list.insertAt(1, 4);cout << "After inserting at index 1: ";list.printList();// 删除值为2的节点list.deleteValue(2);cout << "After deleting value 2: ";list.printList();// 查找值为3的节点if (list.search(3)) {cout << "Value 3 found in the list." << endl;} else {cout << "Value 3 not found in the list." << endl;}return 0;
}

运行结果示例

假设你运行了上述代码,输出可能会如下所示:

 

深色版本

Initial list: 1 -> 2 -> 3 -> NULL
After inserting at index 1: 1 -> 4 -> 2 -> 3 -> NULL
After deleting value 2: 1 -> 4 -> 3 -> NULL
Value 3 found in the list.

这个示例展示了如何创建一个单向链表,并实现了插入、删除、查找和打印链表的基本功能。

http://www.dtcms.com/wzjs/37907.html

相关文章:

  • 网站建设调查分析如何让网站快速收录
  • 学生怎么制作网站2024年3月新冠高峰
  • 如何做网站首页优化网站整体优化
  • 赣州网站开发360seo排名点击软件
  • 网站开发验收方案郑州高端网站建设哪家好
  • 免费动画制作网站百度网站收录链接提交
  • 做网站开发电脑配置app注册推广团队
  • 做网站虚拟主机和云服务器吗企业网站的在线推广方法有
  • 什么网站免费制作广告软文
  • h5制作价格seo案例分析及解析
  • 包头建委网站找不到竞价开户推广
  • 5种有效增加网站流量引流推广的句子
  • 政府网站建设管理办法广东seo网站推广
  • 做网站南昌百度seo点击
  • 网站后台分模块昆明自动seo
  • 国际上比较认可的邮箱win10优化大师怎么样
  • 长沙做门户网站的公司免费域名邮箱
  • 部门网站建设情况总结矿坛器材友情交换
  • 优秀网站建设空间网络优化工具
  • aspx网站开发 案例石家庄疫情最新消息
  • 怎么用手机做刷会员网站优化关键词可以选择哪个工具
  • 网站建设有哪些方面抖音推广公司
  • 怎么用vs2017做网站网站优化排名优化
  • 成都哪里有做网站建设的怎样进行seo优化
  • 微网站哪家好外贸业务推广
  • 搜狗网站提交设计公司网站模板
  • 网站开发考核站内seo和站外seo区别
  • 如何做优酷网站赚钱营销网络推广方式有哪些
  • 外贸五金网站重庆今天刚刚发生的重大新闻
  • 用什么网站可以做链接免费建立个人网站凡科