组合提交代码(仅支持C++)
#include<iostream>
#include <stdio.h>
#include <malloc.h>
using namespace std;
typedef int ElemType;
typedef struct DNode //定义双链表结点类型
{
ElemType data;
struct DNode *prior; //指向前驱结点
struct DNode *next; //指向后继结点
} Dli
void CreateListR(Dli
//尾插法建双链表
{
Dli
L=(Dli
L->prior=L->next=NULL;
r=L; //r始终指向终端结点,开始时指向头结点
for (int i=0;i<n;i++)
{
s=(Dli
s->data=a[i];
r->next=s;s->prior=r; //将结点s插入结点r之后
r=s;
}
r->next=NULL; //尾结点next域置为NULL
}
void InitList(Dli
{
L=(Dli
L->prior=L->next=NULL;
}
void DestroyList(Dli
{
Dli
while (p!=NULL)
{
free(pre);
pre=p;
p=pre->next;
}
free(pre);
}
void DispList(Dli
{
/**************begin************/
/**************end************/
}
void sort(Dli
{
/**************begin************/
/**************end************/
}
int main()
{
ElemType a[]={1,8,0,4,9,7,5,2,3,6};
Dli
CreateListR(L,a,10);
printf("L:");DispList(L);
printf("排序\n");
sort(L);
printf("L:");DispList(L);
DestroyList(L);
return 1;
}