今天搞了一个多小时,头是疼的,应该是没休息好吧,学习了数据结构这一节,感觉收益良多,下面贴上代码和心得: /*24_链表创建和链表遍历算法的演示*/ # include <stdio.h> # include <malloc.h> # include <stdlib.h> typedef struct Node { int data;//数据域 struct Node * pNext;//指针域 }NODE, *PNODE;//NODE等价于struct Node //…
非循环单链表插入结点伪算法讲解 q插入p之后的伪算法:第一种表示方法:r = p->pNext; // p->pNext表示的是所指向结点的指针域,指针域又是指向下一个结点的地址p->pNext = q; // q保存了那一块结点的地址.q是一个指针变量,存放那个结点的地址.q->pNext = r; 第二种表示方法:q->pNext = p->pNext; // q的指针域指向p后面一个结点p->pNext = q; // p的指针域指向q 删除非循环单链表结点…
最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合,一种面向过程的MVC的感觉. 而这一切的基础就在于对链表的创建.删除.输出.写入文件.从文件读出...... 本篇文章在于巩固链表的基础知识(整理自<C语言程序设计教程--人民邮电出版社>第十章——指针与链表),只对链表的概念及增删改查作出探讨,欢迎指教. 一.链表结构和静态/动态链表 二.单链表…
// // main.c // testLink // // Created by lan on 16/3/6. // Copyright © 2016年 lan. All rights reserved. // #include <stdio.h> #include <malloc/malloc.h> #include <stdlib.h> #include <stdbool.h> typedef struct Node { int date; // 数据…
/*一个集合用带头结点的单链表L表示,编写算法删除其值最大的结点.*/ /* 算法思想:使用pre,p,premax,max四个指针,pre和p进行比较,premax和max进行最后的删除操作 通过遍历找到最大的值,后进行删除 */ void Delete_Max(LinkList& L) { LNode *pre = L, *p = L->next; LNode *premax = pre, *max = p; while (p) { if (max->data < p->…
目标:创建一个链表,并将链表输出.结构体中包括学号与分数.链表以输入学号为0作为结束.输出模版为 No.学号 Score:分数 输入样例: 10101 98 10102 97 10103 100 10104 99 0 0 输出样例: No.10101 score:98 No.10102 score:97 No.10103 score:100 No.10104 score:99 完成程序源代码 #include <stdio.h> #include <stdlib.h> struct…
链表获取元素1.声明结点p指向链表第一个结点,j初始化1开始2.j<i,p指向下一结点,因为此时p是指向的p的next,因此不需要等于3.如果到末尾了,p还为null,就是没有查找到 插入元素1.插入元素和查找类似,找到位置后2.生成新的结点s, s->next=p->next p->next=s; 删除元素1.删除元素,找到位置后2.绕过一下,q=p->next p->next=q->next; <?php class Node{ public $data…
题目: 分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点. 要求: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 解答: 让链表从头走到尾,每移动一步,就让K值减一,当链表走到结尾时,如果K值大于0,说明不用调整链表,因为链表根本没有倒数第K个节点,此时将原链表直接返回即可:如果K值等于0,说明链表倒数第K个节点就是头结点,此时直接返回head.next,相当于删除了头结点.当K的值小于零时,再次从头结点开始走,每移动一步,就让…
树表示由边连接的节点.它是一个非线性的数据结构.它具有以下特性. 一个节点被标记为根节点. 除根节点之外的每个节点都与一个父节点关联. 每个节点可以有一个arbiatry编号的chid节点. 我们使用前面讨论的os节点概念在python中创建了一个树数据结构.我们将一个节点指定为根节点,然后将更多的节点添加为子节点.下面是创建根节点的程序. 创建树 创建根 我们只需要创建一个节点类并向节点添加赋值.这就变成了只有根节点的树. class Node: def __init__(self, data…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11209807.html 一.1道网易c++的面试题 我当时第一时间的解答方案 #include <iostream> #include <vector> using namespace std; int main() { const int Wi = 3840; const int Hi = 2160; int N,M; int temp; int x,y,w,h; int x…