社区
C++ 语言
帖子详情
单向链表的排序操作?(一道笔试题,请给出程序,要求改变节点的指针,不能只交换值)
whizstorm
2004-11-18 09:22:07
typedef struct A
{
int data;
A *next;
}
要求根据 data 完成链表的升序?
...全文
243
3
打赏
收藏
单向链表的排序操作?(一道笔试题,请给出程序,要求改变节点的指针,不能只交换值)
typedef struct A { int data; A *next; } 要求根据 data 完成链表的升序?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
meiggy
2004-11-18
打赏
举报
回复
你把node换成你的struct A就行啦
meiggy
2004-11-18
打赏
举报
回复
上面node如下:
template<class T>
class node
{
public:
node(const T& x,node* n = 0,node*p = 0):data(x),next(n),pre(p){};
T data;
node* next;
};
meiggy
2004-11-18
打赏
举报
回复
template<class T>
node<T>* sortlist(node<T>* &head)
{
assert(head != NULL);
node<T> *first = head;
node<T> *lesscur = NULL;
node<T> *precur;
node<T> *cur = head;
while(cur->next != NULL)
{
precur = cur;
cur = cur->next;
if(cur->data<precur->data)
{
while(cur->data >= first->data)
{
lesscur = first;
first = first->next;
}
if(lesscur == NULL)
{
precur->next = cur->next;
cur->next = first;
head = cur;
cur = precur;
lesscur = NULL;
}
else
{
precur->next = cur->next;
lesscur->next = cur;
cur->next = first;
cur = precur;
lesscur = NULL;
}
first = head;
}
}
return head;
}
java实现单链表常见
操作
,java面试题,java初级
笔试题
本文详细介绍了单链表的基本
操作
,包括添加、删除、遍历、
排序
、判断环状、求中间
节点
等,并提供了完整的Java代码实现。适用于初学者理解和掌握单链表的使用。
数据结构学习记录(三)链表的定义和
操作
本文介绍了链表作为数据结构在插入和删除
操作
上的优势,指出其无法进行随机访问和不便
交换
元素的特点。分享了单链表的C++实现,并提出三个常见
笔试题
:寻找倒数第四个元素、
交换
任意两个元素及大数相加的解决方案,附带解题思路。所有函数已通过测试,欢迎提问讨论。
双向循环链表,C语言实现
文章介绍了如何在双向循环链表中实现冒泡
排序
算法,包括
节点
结构定义、链表初始化、插入元素以及
交换
相邻
节点
的
操作
。作者
给出
了完整的C语言代码实现和运行效果。
【
程序
代码】--- 链表
笔试题
博客主要介绍了单链表的多种
操作
,包括逆序打印、在指定位置前插入、逆置、冒泡
排序
、合并有序链表等,还涉及查找中间
节点
、倒数第K个
节点
,删除倒数第K个
节点
,以及判断链表是否带环、求环的长度和入口等内容。
单链表的冒泡
排序
本文介绍了一种基于单链表的数据结构实现
排序
的方法。通过定义链表
节点
结构体,并提供链表的基本
操作
如插入、删除等,最终实现了简单的选择
排序
算法对链表中的整数进行
排序
。
C++ 语言
65,211
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章