链表的排序

本文分享了作者使用链表实现职工管理系统的经验,并详细介绍了如何利用类似冒泡排序的方法完成链表中职工薪资的排序过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           今天自己将职工管理系统用链表的形式又重新写了一遍,增删改查的功都能实现,但是在对职工薪资进行排序的时候则遇到了问题,第一次碰到在链表里进行排序,想了很久也没想出合适的方法,之后看了之前所用过的冒泡排序,发现完全可以用类似的方法来对薪资进行排序,下面则是链表排序的具体代码:

p temp7, max, n, m;
int i = 0;
n = temp;
m = max = temp->next;
while (n->next != temp)			//大循环,控制循环次数//
{
	temp7 = temp->next;			//temp为下面找最大值的前节点所用,赋初值//
	for (m = n->next; m != temp; m = m->next)	//小循环,依次找出当前最大值//
	{
		if (max->salary > m->salary)
		{
			max = m;
		}
	}
	while(temp7->next != max)
	{
		temp7 = temp7->next;
	}
	temp7->next = max->next;
	max->next = temp->next;
	temp->next = max;
	if(i == 0)
	{
		n = max;
	}
	max = n->next;
	i++;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值