#include <stdio.h>
#include <stdlib.h>
#include<malloc.h>
#define true 1
#define false 0
typedef int bool;
typedef struct Node
{
int val;
struct Node * next;
}NODE,*PNODE;
//函数声明
void traverse_list(PNODE pHead);
PNODE create_list(void);
bool is_empty(PNODE);
int length_list(PNODE);
bool insert_list(PNODE,int,int);
bool delete_list(PNODE,int,int*);
void sort_list(PNODE);
//对链表元素进行排序
void sort_list(PNODE pHead)
{
int len = length_list(pHead);
if(len<=1)
{
printf("链表元素太少,无法执行排序操作");
return;
}
int i,j,temp;
PNODE p ; //现在 p 指向的是首节点
for(i=0;i<len;i++)
{
p = pHead->next; // 每一次循环执行时,需要从当前首节点向后执行
for(j=0;j<len-i-1;j++)
{
if(p->val < p->next->val)
{
temp = p->val;
p->val = p->next-&
数据结构之——单链表的增删改查
最新推荐文章于 2024-04-26 23:46:11 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)