# include <stdio.h>
# include <stdlib.h>
typedef struct node
{
int data;
struct node* next;
} linklist;
linklist *head = NULL;
linklist* CreatList( int * arr , int len )
{
int data ;
linklist *pCurrent, *rear;
head = ( linklist * ) malloc( sizeof( linklist ));
rear = head;
int icount = 0;
while( icount < len )
{
pCurrent = (linklist *)malloc( sizeof( linklist )) ;
pCurrent->data = arr[ icount++ ];
rear->next = pCurrent;
rear = pCurrent;
}
rear->next = NULL;
return head;
}
void SortList( linklist *p )
{
linklist *temp = p->next;
linklist *node = p->next;
int itemp ;
for( ; temp->next ; temp = temp->next )
{
for( node = p->next ; node->next ; node = node->next )
{
if( ( node->data ) > ( node->next->data ))
{
itemp = node->data;
node->data = node->next->data;
node->next->data = itemp;
}
}
}
}
void ShowList( linklist* p)
{
while( p )
{
printf("%d ", p->data );
p = p->next;
}
}
int main()
{
int Array[] = { 9,8,7,6,5,4,3,2,1 };
CreatList( Array , (sizeof(Array)/sizeof(Array[0])));
SortList( head );
ShowList( head->next );
return 0;
}
数据结构:单链表排序--C实现
最新推荐文章于 2022-04-26 11:16:41 发布