后续修改,现在放着以便平时看。
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node //构建每个节点的数据类型和指针域,用typedef减少之后的代码量
{
int data;//数据域中的数据是int类型
struct node* pnext;
//指针域存储下一个节点的地址,使用struct node*的具体原因我自己也没太弄明白,
//有兴趣的朋友可以去看郝斌数据结构课思考。
}NODE,*PNODE; //NODE==struct node PNODE==struct node*
//函数声明
PNODE creat_list(void);
void list_traversal(PNODE phead);
bool is_empty(PNODE phead);
int length_list(PNODE phead);
bool insert_list(PNODE phead,int val,int position);
bool delete_list(PNODE phead,int position,int* researve);
void sort_list(PNODE phead,int len);
//主函数
int main()
{
PNODE phead=NULL;
int len,position,val;
int* researve=NULL;
phead = creat_list(); //创建一个非循环单链表,并将该链表的头结点的地址赋给pHead
len=length_list(phead);
if(is_empty(phead))
{
printf("链表为空!\n");
}
else
{
list_traversal(phead);//遍历该单链表中的所有数据
printf("排序后:\n");
sort_list(phead, len);//对链表中的数据大小进行排序
l