#include <stdio.h>
#include <string.h>
#include <malloc.h>
typedef struct Node
{
int num;
struct Node *pre;
struct Node *next;
}mode;
// head为双向链表表头
// dir为排序方向:0为升序,1为降序
void sort_list(mode *head, int dir)
{
if(head == NULL) return ;
mode *now_item= head;
mode *next_item = NULL;
int tmp = 0;
while(now_item->next != NULL)
{
next_item = now_item->next;
while(next_item != NULL && next_item->pre != head && (next_item->pre->num > next_item->num) ^ dir)
{
tmp = next_item->num;
next_item->num = next_item->pre->num;
next_item->pre->num = tmp;
next_item = next_item->pre;
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载