![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
註冊會員
|
![]() #include <stdio.h>
#include <stdlib.h> typedef struct node_t { int num; struct node_t *next; } NODE; void listNode(NODE *node,int num) { NODE *ptr=node; if (!node) return; while (ptr->next) ptr=ptr->next; if (ptr->next = (NODE *)calloc(sizeof(NODE),1)) ptr->next->num=num; } void deleteNode(NODE *node) { if (node) { deleteNode(node->next); free(node); } } int Sort(NODE *node) { NODE *tmp; if (node->next && node->next->next) { if (node->next->num > node->next->next->num) { tmp = node->next; node->next = node->next->next; tmp->next = node->next->next; node->next->next = tmp; return 1; } else return Sort(node->next); } else return 0; } int main() { int num; NODE root ={0,}, *ptr; do { printf("input number:"); scanf("%d",&num); if (num) { listNode(&root,num); while (Sort(&root)); for (ptr=root.next; ptr; ptr=ptr->next) printf("->%d",ptr->num); printf("\n"); } } while (num); deleteNode(root.next); } 我該如何改成更有效率的排序? 排序程式的部份 我該怎麼改... ![]() |
![]() |
送花文章: 0,
![]() |
![]() ![]() |
|
|
![]() |
||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
請問Office Xp語言介面問題 | chauchau | 硬體疑難使用問題討論區 | 6 | 2003-08-14 07:37 PM |
裝了在微軟下載的WINDOWS SERVER 2003英文版..語言問題 | fbi1985 | 軟體應用問題討論區 | 0 | 2003-06-19 02:14 AM |
請問要看日.韓語言網頁的問題? | kana6468 | 一般電腦疑難討論區 | 1 | 2003-06-13 12:51 PM |
WINXP PRO 語言修改問題 | xxxeee | 軟體應用問題討論區 | 2 | 2003-05-29 09:02 PM |
請問xp繁體語言包的問題.... | 721017 | 一般電腦疑難討論區 | 3 | 2003-04-27 02:38 PM |