排序算法

来源:百度知道 编辑:UC知道 时间:2024/09/27 15:48:56
#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct node
{
int a;
int b;
char c[10];
}node;
typedef struct linklist
{
node data;
struct linklist *next;
}linklist;
void init_linklist(linklist **a)
{
(*a)=(linklist *)malloc(sizeof(linklist));
(*a)->next=NULL;
}

void insert_linklist(linklist **w,int a,int b,char c[])
{
linklist *p;
p=(linklist *)malloc(sizeof(linklist));
p->data.a=a;
p->data.b=b;
strcpy(p->data.c,c);
p->next=(*w)->next;
(*w)->next=p;
}
void display_linklist(linklist *w)
{
w=w->next;
if(w==NULL)
printf("链表为空!\n");
while(w!=NULL)
{
printf("a=%d b=%d c=%s\n",w->data.a,w->data.b,w->data.c
);
w=w->next;
}
}

void main()
{
i

void sort_linklist(linklist **w)里是按你要求写的关键字是a,降序排列 .我只是写了个简单的.
#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct node
{
int a;
int b;
char c[10];
}node;
typedef struct linklist
{
node data;
struct linklist *next;
}linklist;
void init_linklist(linklist **a)
{
(*a)=(linklist *)malloc(sizeof(linklist));
(*a)->next=NULL;
}

void insert_linklist(linklist **w,int a,int b,char c[])
{
linklist *p;
p=(linklist *)malloc(sizeof(linklist));
p->data.a=a;
p->data.b=b;
strcpy(p->data.c,c);
p->next=(*w)->next;
(*w)->next=p;
}
void display_linklist(linklist *w)
{
w=w->next;
if(w==NULL)
printf("链表为空!\n");
while(w!=NULL)
{
printf("a=%d b=%d c=%s\n",w->data.a,w->data.b,w->data.c