原创 BST

江南無所謂 聊贈一枝春 前言 二叉搜索樹插入 二叉搜索樹遍歷 二叉搜索樹高度 二叉搜索樹最大值 什麼是二叉搜索樹 滿足條件: 左節點值 < 根節點值 < 右節點值 定義樹節點 typedef struct TreeNode {

原创 堆排序(heapsort)

前言 堆排序是排序算法中的一種,算法時間複雜度是O(n log(n))。這裏主要介紹堆的構建以及怎樣通過heapify操作完成堆排序。代碼是用C語言完成的,算法不難,大家可以自己用其他語言實現一下。 什麼是堆(Heap) Heap需要滿足

原创 iOS中解決NSTimer循環引用的三種方式

逆水行舟 不進則退 今天有個人來公司面試,問了他平時在使用Timer定時器時怎麼解決循環引用的問題。然後就得到了這樣一個答案: __weak typeof(self) weakSelf = self; self.timer

原创 C語言之通俗易懂的遞歸算法

摘要 記得大學接觸的第一門課程就是C語言,裏面讓我印象深刻之一就是遞歸,受大學老師講遞歸的啓發我嘗試着用最通俗、最易懂的方式講解遞歸。遞歸其實真的不難。覺得遞歸很難的朋友,可以試試看一下,相信如果你能認真的看完這篇文章,或許會有很大的收穫

原创 Flutter之BottomNavigationBar的封裝

BottomNavigationBarBottomNavigationBar 是屬於 Scaffold 中的一個位於底部的控件。通常和 BottomNavigationBarItem 配合使用。BottomNavigationBar構造方

原创 Flutter 代碼開發規範

Flutter 代碼開發規範文檔 僅做參考 標識符三種類型大駝峯類、枚舉、typedef和類型參數 class SliderMenu { ... } class HttpRequest { ...

原创 數據結構-雙向鏈表、雙向循環鏈表

定義節點 typedef struct Node { int data; struct Node *head; str

原创 數據結構-單向鏈表

單向列表節點 typedef struct Node { int data; struct Node *next; } LinkNode; 單鏈表創建 反轉

原创 flutter如何打開第三方應用

如何打開第三方應用 1.flutter開發者網站下載url_launcher插件 下載鏈接 2.在 pubspec.yaml 文件中添加依賴: dependencies: url_launcher:

原创 flutter的路由與導航

定義路由 // 在Scaffold中定義路由,如下 routes: <String, WidgetBuilder>{ // less 路由名稱 ,StatelessGroupPage(

原创 flutter加載圖片幾種方式

加載本地圖片 1.在項目根目錄下創建名爲 assets 的文件夾2.將裝有本地圖片的自定義文件夾(假設取名爲images)放在assets文件夾的目錄下3.配置pubspec.yaml文件,如下: flutter: uses-mat

原创 歸併排序

/**算法思想:把長度爲n的輸入序列分成兩個長度爲n/2的子序列;對這兩個子序列分別採用歸併排序;將兩個排序好的子序列合併成一個最終的排序序列。O(n log n)的時間複雜度。代價是需要額外的內存空間。 */ /** 歸併排序--將兩段排

原创 排序

穩定:如果a原本在b前面,而a=b,排序之後a仍然在b的前面;不穩定:如果a原本在b的前面,而a=b,排序之後a可能會出現在b的後面;內排序:所有排序操作都在內存中完成;外排序:由於數據太大,因此把數據放在磁盤中,而排序通過磁盤和內存的數據