|
發(fā)布時間: 2016-10-21 09:13
正文摘要:這里printf是c語言的函數(shù)吧?能直接傳整型當(dāng)參數(shù)?能的話輸出什么。。我下vc++是跑不了 compress-mmexport1476986851658.jpg (37.32 KB, 下載次數(shù): 123) 下載附件 2016-10-21 09:13 上傳 ... |
UncleLoveLoli 發(fā)表于 2016-11-9 21:21 看來是考研幫web論壇有bug 這個問題我現(xiàn)在上手機(jī)app才看到您這段回復(fù),謝謝哈(((o(*?▽?*)o))) |
|
你很聰明. 我不是大神. ![]() |
|
謝謝大神,祝大神感冒快點(diǎn)好,今年一定考上哈~果然這題是少一個p=s, 意思就是我可以簡述為split(a,b)函數(shù)主要把a(bǔ)結(jié)點(diǎn)到b結(jié)點(diǎn)前一個結(jié)點(diǎn)的所有結(jié)點(diǎn)都抽出來,AtoBB 就是調(diào)用兩次這個算法,第一次已經(jīng)抽出a,b之間的鏈,第二次再把剩余的鏈抽出? |
|
|
感冒了,才看到. 代碼如下: #include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct LNode { ElemType data; struct LNode *next; }LNode; LNode* LNodeCreate(int len)//創(chuàng)建長度為n的循環(huán)鏈表,帶頭結(jié)點(diǎn),頭指針. { LNode* headp = NULL;//創(chuàng)建頭指針 headp = (LNode *)malloc(sizeof(LNode));//創(chuàng)建頭結(jié)點(diǎn). headp->data = 0; printf("頭結(jié)點(diǎn)data = 0\n"); int data; LNode *p = NULL; LNode *q = NULL; p = headp; q = headp; for (int i = 1; i < len; i++)//長度是n,從(0,n-1); { printf("請輸入第%d鏈表的值: ", i); scanf("%d", &data); q = (LNode *)malloc(sizeof(LNode)); q->data = data; q->next = NULL; p->next = q; p = q; } q->next = headp; q = headp; p = headp; return headp; } // 遍歷循環(huán)鏈表. void print(LNode* p) { LNode* p1 = p; while (p1->next != p) { printf("%d ", p1->data); p1 = p1->next; } printf("%d ", p1->data); printf("\n"); } void Split(LNode *s, LNode *q) { LNode *p = NULL; p = s; while (p->next != q) { printf("%d ", p->data); p = p->next; } printf("%d ", p->data); printf("\n"); p->next = s; } void AtoBB(LNode *pa, LNode *pb) { //pa和pb分別指向單循環(huán)鏈表(結(jié)點(diǎn)數(shù)>1)中的兩個結(jié)點(diǎn). Split(pa, pb); Split(pb, pa); } int main() { printf("請輸入循環(huán)鏈表的長度:"); int length = 0; scanf("%d", &length); LNode* head = LNodeCreate(length); print(head);//遍歷循環(huán)鏈表 int pa_num; int pb_num; LNode *pa = NULL; LNode *pb = NULL; printf("pa 指向單循環(huán)鏈表的第幾個結(jié)點(diǎn)(1≤num≤%d): ", length); scanf("%d", &pa_num); LNode* p1 = NULL; p1 = head; for (int i = 0; i < pa_num-1 ; i++) { p1 = p1->next; } pa = p1; printf("pb指向單循環(huán)鏈表的第幾個結(jié)點(diǎn)(1≤num≤%d): ", length); scanf("%d", &pb_num); LNode* p2 = head; for (int i = 0; i < pb_num-1 ; i++) { p2 = p2->next; } pb = p2; AtoBB(pa, pb); free(head); return 0; } |
我要研了 發(fā)表于 2016-10-24 11:23 嗯嗯,主要這代碼也太偽了~之前見的printf都是寫具體的=。= |
| 你是把偽碼當(dāng)C語言代碼了吧,它的printf只是表示將他們輸出而已。別拘泥與格式。 |
關(guān)于我們|商務(wù)合作|小黑屋|手機(jī)版|聯(lián)系我們|服務(wù)條款|隱私保護(hù)|幫學(xué)堂| 網(wǎng)站地圖|院校地圖|漏洞提交|考研幫
GMT+8, 2026-5-23 05:56 , Processed in 0.080163 second(s), Total 12, Slave 12(Usage:7M, Links:[2]1,1_1) queries , Redis On.
Powered by Discuz!
© 2001-2017 考研 Inc.