鍊錶的遞迴
設head指向乙個非空單向鍊錶
例一:正向輸出鍊錶資料域的值
void printlink(elemsn *head)
}
例二:逆向輸出單項鍊表資料域的值
void printlink(elemsn *head)
}
例三:返回單向鍊錶節點的個數
int countnode(elemsn *head)
例四:返回奇數節點的個數
int countoddnode(elemsn *head)
例五:返回單向鍊錶的最大值
int maxvalue(elemsn *head)
return max;
}
例五:返回單向鍊錶的最大值節點的指標
int maxnode(elemsn *head)
return max;
}
陣列的遞迴
設有陣列a[n]
例一:正向輸出所有元素的值
void printarry(int a,int n)
}
例二:逆向輸出所有元素的值
void printarry(int a,int n)
}
例三:返回所有元素之和
int arrysum(int a,int n)
else return 0;
}
五 鍊錶與遞迴2 遞迴陣列求和 遞迴鍊錶求和
用遞迴的方式陣列求和 遞迴公式推導 單獨拿出最左邊元素,然後和其餘的相加 sum arr 0 n 1 arr 0 sum arr 1 n 1 sum arr 1 n 1 arr 1 sum arr 2 n 1 sum arr n 1 n 1 arr n 1 sum 基本問題 sum 遞迴方法總結 從...
陣列與鍊錶
陣列和鍊錶簡介 在計算機中要對給定的資料集進行若干處理,首要任務是把資料集的一部分 當資料量非常大時,可能只能一部 分一部分地讀取資料到記憶體中來處理 或全部儲存到記憶體中,然後再對記憶體中的資料進行各種處理。例如,對於資料集 s,要求 s 中元素的和,首先要把資料儲存到記憶體中,然後再將記憶體中的...
陣列與鍊錶
陣列,在記憶體上給出了連續的空間.鍊錶,記憶體位址上可以是不連續的,每個鍊錶的節點包括原來的記憶體和下乙個節點的資訊 單向的乙個,雙向鍊錶的話,會有兩個 優點 使用方便 查詢效率 比煉表高,記憶體為一連續的區域 缺點 大小固定,不適合動態儲存,不方便動態新增 優點 可動態新增刪除 大小可變 缺點 只...