鍊錶的插入排序。
這是帶頭結點的鍊錶排序,不帶頭結點的鍊錶排序只是將相應的head減少了乙個next域,所以凡是有head的地方都減少乙個->next域。
//不帶頭結點的鍊錶插入排序
link sort(link head)
frist=frist->next;//這裡位置不能換;
if(post==head)//判斷是不是頭結點;
else
sert->next=post;//插入後連線原來有序鍊錶;
} return head;
}
帶頭結點的鍊錶插入排序
#include #include typedef struct numlist,*link;
void print(link head);
link create(link head)
return head;
}link sort(link head)
frist=frist->next; // 找到未排序的第乙個結點
if(post==head->next) //if()else()就是將找到的要插入結點插入到相應的位置
else
sert->next=post; //插入的結點指向下乙個結點post
print(head);
printf("\n");
} return head;
}void print(link head)
}int main()
鍊錶插入排序
void insertsort list sortascount,node node else p prior next q q next p int sortwithinsetmethod list sortasdata wchar pp p data if isnum pp int i 0 i ...
鍊錶插入排序
題目 用插入排序對鍊錶排序 樣例 given1 3 2 0 null,return0 1 2 3 null 思路 新建乙個以dummy開頭的鍊錶,並將dummy賦初值為0。令node dummy,通過移動新煉表中的node與要排序的鍊錶中的head,並比較node與head的值,來實現排序。如果he...
鍊錶插入排序
題目 用插入排序對鍊錶排序 思路 建立乙個新的鍊錶,將目標鍊錶依次插入先煉表中,小就插到前面,大就插到後面,如此一來,新的鍊錶就是目標鍊錶按大小次序排列的了。先看第一步,將目標鍊錶的第乙個元素插入所建立的空鍊錶,具體是先建立乙個地值存下頭節點的下乙個節點的位置,將頭節點的next變為空,連到一開始建...