请问下面双向链结用来建立链结的一部分
请问我该怎么改, 才可以让阵列可以由小到大
或是由大到小排序在双向链结上面????
请问有强者可以帮我改一下吗???
dlink createdlist(int *array,int len)
{
dlink head; /* 双向串行的指标 */
dlink before; /* 前一节点的指标 */
dlink new_node; /* 新节点的指标 */
dlink current;
int i;
/* 建立第一个节点, 和配置节点内存 */
head = ( dlink ) malloc(sizeof(dnode));
if ( !head ) return NULL; /* 检查内存指标 */
head->data = array[0]; /* 建立节点内容 */
head->front = NULL; /* 设定指标初值 */
head->back = NULL; /* 设定指标初值 */
before = head;
current=before->front; /* 指向第一个节点 */
//int list[10] = {75,98,77,10,57,50,40,81,91,99}; /* 阵列内容 */
for ( i = 1; i < len; i++ ) /* 用循环建立其它节点 */
{ /* 配置节点内存 */
new_node = ( dlink ) malloc(sizeof(dnode));
new_node->data = array[i]; /* 建立节点内容 */
new_node->front = NULL; /* 设定指标初值 */
new_node->back = before; /* 将新节点指向前节点 */
before->front = new_node; /* 将前节点指向新节点 */
before = new_node; /* 新节点成为前节点 */
}
return head; /* 传回串行起始指标 */
}