| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 数据结构与算法 -> 西安电子科技大学21考研833真题双向循环链表的冒泡排序 -> 正文阅读 |
|
|
[数据结构与算法]西安电子科技大学21考研833真题双向循环链表的冒泡排序 |
|
?unknown函数中,首先定义了三个Node类型的指针节点,并让p指向首节点,q指向p的下一个节点,r指向q的下一个节点。 如图类似于这样一个链表:
看到p->data>q->data 知道这个函数与节点中存储的值的大小有关 我便让p指向的节点data值设定为大于q指向节点的data值。 然后p=p->prior 让p指向头节点?? q->prior->next=r;? 让q指向节点的前驱节点 也就是原来p指向的节点的next指向r节点 空过(1) q->next=p->next; q->prior=p; 让q的next指向p原来指向的节点,也就是首节点,让q的前驱节点指向头节点?? 看到这 我大概就知道 他是让q指向的节点与p原来指向的节点互换位置? 也就是说让data小的值放到链表前面 data大的值放到链表后面? 然后通过while循环给链表排序,排序方法为冒泡排序。 后面的代码就是将p,q,r,依次指向各自的下一个节点。 具体实现代码 如下:#include<stdio.h> ?? ?for(int i=0;i<*len;i++)
? |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/27 2:06:24- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |