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

博客网站开发背景网站建设策划书论文

博客网站开发背景,网站建设策划书论文,网页设计叫什么行业,重庆最有效的网站推广链表#xff08;linked list#xff09;是一种常见的数据结构#xff0c;用于存储一系列元素。它由一系列节点组成#xff0c;每个节点包含数据和指向下一个节点的指针。 在 C 中#xff0c;可以使用结构体来表示链表节点#xff0c;然后使用指针将这些节点连接起来。 -… 链表linked list是一种常见的数据结构用于存储一系列元素。它由一系列节点组成每个节点包含数据和指向下一个节点的指针。 在 C 中可以使用结构体来表示链表节点然后使用指针将这些节点连接起来。 ---------- 在常见的链表实现中头指针head pointer是链表的一部分。头指针是一个指针变量指向链表中的第一个节点。通过头指针可以访问整个链表的节点序列。 在 C 中头指针通常是一个类的私有成员变量在链表的操作中用来标识链表的起始位置。通过头指针可以遍历整个链表执行插入、删除等操作。 需要注意的是头指针只是指向链表中第一个节点的指针它本身并不包含任何数据。链表的实际数据存储在节点中而头指针只是用来指示链表的起始位置。 #include iostream using namespace std;struct Node {int data;Node* next; };class LinkedList { private:Node* head; // 头指针指向链表的第一个节点public:LinkedList() {head nullptr; // 初始时链表为空}// 在链表头部插入一个新节点void insertAtBeginning(int newData) {Node* newNode new Node;newNode-data newData;newNode-next head;head newNode;}// 删除链表中的第一个节点void deleteAtBeginning() {if (head nullptr) {cout Linked list is empty. Cannot delete from an empty list. endl;return;}Node* temp head;head head-next;delete temp;}// 打印链表的所有节点数据void printList() {Node* temp head;cout Linked List: ;while (temp ! nullptr) {cout temp-data ;temp temp-next;}cout endl;} };int main() {LinkedList myList;myList.insertAtBeginning(35);myList.insertAtBeginning(75);myList.insertAtBeginning(49);myList.printList(); // 输出: Linked List: 9 7 3myList.deleteAtBeginning();myList.printList(); // 输出: Linked List: 7 3return 0; }让我们来解释一下插入数据的顺序和头指针之间的关系。 // 在单向链表中头指针通常指向链表中的第一个节点。当我们要在链表的头部插入一个新节点时我们需要进行以下步骤 // 创建一个新节点并设置它的数据值。 // 将新节点的 next 指针指向当前的第一个节点使新节点成为新的第一个节点。 // 更新头指针使它指向新的第一个节点。 // 这样做的原因是链表的头指针需要始终指向链表的第一个节点以便我们能够轻松地访问整个链表。 ------------------- // 这段代码定义了一个名为 insert 的函数用于在链表中插入新节点。让我解释一下这段代码的逻辑 // 函数接受两个参数指向链表头节点的引用 head 和要插入的新节点的值 value。 // 首先它创建了一个新的节点 newNode并将新节点的数据域初始化为 value。 // 接着它检查链表是否为空。如果链表为空即 head 为 nullptr则将新节点设为链表的头节点。// 如果链表不为空则遍历链表直到找到最后一个节点即指针域为 nullptr 的节点。// 将新节点链接到链表的末尾即将当前最后一个节点的指针域指向新节点。 #include iostream// 定义链表节点结构体 struct Node {int data; // 数据域Node* next; // 指针域指向下一个节点 };// 在链表中插入新节点 // 这段代码定义了一个名为 insert 的函数用于在链表中插入新节点。让我解释一下这段代码的逻辑 // 函数接受两个参数指向链表头节点的引用 head 和要插入的新节点的值 value。 // 首先它创建了一个新的节点 newNode并将新节点的数据域初始化为 value。 // 接着它检查链表是否为空。如果链表为空即 head 为 nullptr则将新节点设为链表的头节点。 // 如果链表不为空则遍历链表直到找到最后一个节点即指针域为 nullptr 的节点。 // 将新节点链接到链表的末尾即将当前最后一个节点的指针域指向新节点。 // 这样新节点就成功地插入到了链表的末尾。这个函数的时间复杂度是 O(n)其中 n 是链表中节点的数量因为它需要遍历整个链表来找到最后一个节点。 void insert(Node* head, int value) {Node* newNode new Node;newNode-data value; // 手动设置数据域的值newNode-next nullptr; // 手动设置指针域的值if (head nullptr) {head newNode;} else {Node* current head;while (current-next ! nullptr) {// 如果链表不为空则遍历链表直到找到最后一个节点即指针域为 nullptr 的节点。current current-next;}current-next newNode;// 将新节点链接到链表的末尾即将当前最后一个节点的指针域指向新节点。} }// 打印链表 void printList(Node* head) {Node* current head;while (current ! nullptr) {std::cout current-data - ;current current-next;}std::cout nullptr std::endl; }// 主函数 int main() {Node* head nullptr;insert(head, 1);insert(head, 2);insert(head, 3);printList(head);return 0; }-------------------------------------------- // 在没有头指针的情况下我们仍然需要一个指针来引导我们访问链表的第一个节点。这个指针可以是一个指向第一个节点的指针比如在示例中使用的 start 指针。通过使用这个指针我们可以找到链表的第一个节点并在其前面插入新节点然后更新 start 指针以指向新的第一个节点。 // 因此插入数据的顺序与头指针的关系在于无论是否有头指针我们都需要确保链表的第一个节点正确地指向新插入的节点以确保我们可以轻松地访问整个链表。 #include iostream// 定义节点结构体 struct Node {int data;Node* next; };// 在链表头部插入一个新节点 Node* insertAtBeginning(Node* start, int newData) {// 创建一个新节点Node* newNode new Node;newNode-data newData;newNode-next start; // 新节点的下一个节点指向当前第一个节点return newNode; // 返回新节点作为新的第一个节点 }// 打印链表 void printList(Node* start) {Node* current start;while (current ! nullptr) {std::cout current-data ;current current-next;}std::cout std::endl; }int main() {Node* start nullptr; // 定义一个指向第一个节点的指针并初始化为 nullptr// 在链表头部插入节点start insertAtBeginning(start, 3);start insertAtBeginning(start, 7);start insertAtBeginning(start, 9);// 打印链表std::cout Linked List: ;printList(start);return 0; }
http://www.pierceye.com/news/29727/

相关文章:

  • 山东省交通厅建设网站首页wordpress xml文件分割器
  • 如何建立网站空间网站制作如皋
  • 安徽省建设干校网站餐饮网站程序
  • 开封网站建设哪家好如何把代码放在网站首页教程
  • 网站建设的要求公司名字大全两个字
  • 锦州网站建设工作全屋定制厂家怎么找
  • 特色网站建设重庆网站建设yunhuit
  • 建设网站找什么网站+做+app
  • 遇到钓鱼网站怎么做wordpress更改主站点
  • 网站建设交印花税嘛策划公司活动方案
  • 旅游 网站建设目标清远建设工程招投标网站
  • 违法的网址能注册做一网站用吗wordpress镜像系统
  • 如何建淘客网站近两年成功的网络营销案例
  • 广州 网站开发 公司苏州做网站哪里好
  • php网站源码怎么在本地电脑调式山东网站建设软件
  • 网站建设的知识点有哪些仿win8 网站
  • 沈阳网站推广的公司营业推广
  • 重庆建站程序家用电脑如何做网站服务器
  • 用jquery做网站wordpress要求配置
  • 电子商务网站开发的关键点深圳东门希尔顿欢朋酒店
  • o2o网站建设服务企业网站都有哪些
  • 网站空间ftp网站建设经费申请
  • 网站外链分析工具网站的flash
  • 建设自己的网站首页软文推广广告
  • 最好的网站制作公司建设网站如何优化关键词
  • hao123网站源码制作2015最新仿东方建设集团有限公司网站
  • 长沙微信网站开发本科自考报名
  • 做网站开发用哪门语言企业网站建设的公司
  • 福州建设公司网站互联网推广好做吗
  • 学做彩票网站酷炫网站首页