回覆列表
  • 1 # 不吃老鼠的貓

    struct student* printf_sort(struct student *head){struct student *p1,*p2,*ptemp,*pfinished=NULL; for(p1=head;p1->next!=pfinished;)//對連結串列進行從大到小排序(這裡用冒泡法) //p1使之總是指向頭結點,pfinished使之總是指向已排序好的最前面的結點 //ptemp作為中介,儲存p2的上一個結點 { for(p2=p1;p2->next!=pfinished;) { if(p2->num<p2->next->num)//p2的值小於p2->next的值,交換 { if(p2==p1)//頭結點要交換 { p1=p2->next; p2->next=p1->next; p1->next=p2; ptemp=p1; } else { ptemp->next=p2->next; ptemp=p2->next; p2->next=ptemp->next; ptemp->next=p2; } } else//不需要交換,則p2、ptemp前進1位 { ptemp=p2; p2=p2->next; } } pfinished=p2; }}

  • 中秋節和大豐收的關聯?
  • 在網上買乳膠漆,靠譜嗎?