請問下面雙向鏈結用來建立鏈結的一部分
請問我該怎麼改, 才可以讓陣列可以由小到大
或是由大到小排序在雙向鏈結上面????
請問有強者可以幫我改一下嗎???
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; /* 傳回串列起始指標 */
}