使用迴圈鍊錶完成超長正整數的加法

2021-10-03 14:46:45 字數 1361 閱讀 1385

沒有使用free()函式

大數的運算用陣列做更方便,只是根據題目要求使用迴圈鍊錶來做。

//超長正整數的加法。 

#include

#include

#include

#define numlength 100

//輸入最大數長

typedef

struct nodenode;

void

addnode

(node *pnode,

int num)

;void

printnode

(node pnode,

int direction)

;void

numplus

(node pnode1, node pnode2)

;int

main()

while

(strlen

(tmp2)

)numplus

(phead, phead2)

; phead.length=0;

phead2.length=0;

}return0;

}void

addnode

(node *pnode,

int num)

pnew->next = pnode->next;

//將新結點的後繼變成前乙個的後繼

pnew->pre = pnode;

//將新結點的前驅變成前乙個

pnode->next->pre = pnew;

//將前乙個的後繼的前驅變成新結點

pnode->next = pnew;

//將前乙個的後繼變成新結點

pnew->num = num;

pnode->length+=1

;}void

printnode

(node pnode,

int direction)

}else

}printf

("\n");

}void

numplus

(node pnode1, node pnode2)

else carry =0;

addnode

(&pnode3, sum);}

if(pd)

addnode

(&pnode3,1)

;printnode

(pnode3,0)

;}

結果:

使用迴圈和鍊錶完成的歸併排序

package com.sort public class guibing sort arr public static void sort int arr 開始迴圈歸併,每次迴圈完成乙個步長的合併 while true node newarr newnode newlength 開始合併鍊錶 fo...

基於C語言檔案操作和鍊錶操作完成的檔案加密系統

下面是檔案加密系統的介面 該檔案加密系統共有加密檔案 解密檔案 查詢某檔案是否被加密 顯示所有的加密檔案資訊4個功能。大致工作流程 程式啟動後,首先開啟固定的已加密檔案資訊儲存檔案,讀取檔案資訊存在到鍊錶中。然後等待使用者輸入命令。如果使用者輸入1 程式請求輸入待加密檔案檔名,如果使用者輸入錯誤的檔...

求煉表中倒數第K個位置上的結點(K為正整數)

已知乙個帶有表頭結點的單鏈表,結點結構為 data,link 假設該鍊錶只給出了頭指標list,在不改變鍊錶的前提下,請設計乙個盡可能高效的演算法,查詢鍊錶中倒數第k個位置上的結點 k為正整數 若查詢成功,演算法輸出該結點的data域的值,並返回1,否則返回0.exam.cpp 定義控制台應用程式的...