內容介紹
內 容 簡 介本書系統地闡述了數據的邏輯關係以及它們的存貯表示和運算操作,包括線性表、棧、佇列、
樹、圖及分類等內容,並用C語言詳細地給出了各種算法。為使沒有學習過C語言的讀者能順利地
學習數據結構及其高級程式設計方法,本書用了一定的篇幅詳細介紹了與數據結構實現及算法描
述有關的C語言基礎知識及編程技術。把C語言、數據結構及其高級編程技術有機地結合在一起,
既注重理論介紹,又兼顧實際套用能力的培養。本書可作為高等院校非計算機專業的高年級學生
在學習完一門高級語言、且具有一定計算機操作能力之後,學習數據結構及高級程式設計的教材。
上機實習可安排24學時至30學時,講授學時為60~70。
本書同時可作為從事企業管理及其他有關人員自學C語言和數據結構的參考書。
作品目錄
目錄第一章 C語言概述
§1.1C語言的起源與特點
§1.1.1C語言的起源
§1.1.2C語言的特點
§1.2C語言程式的格式
§1.3Turb0C2.0上機初步
§1.3.1準備程式
§1.3.2啟動TurboC進入集成開發環境
§1.3.3程式運行
第二章 C語言表達式
§2.1數據類型
§2.2常 量
§2.3變 量
§2.3.1整型變數
§2.3.2實型變數
§2.3.3字元變數
§2.4運算符和表達式
§2.4.1算術運算符和算術表達式
§2.4.2關係運算符及關係表達式
§2.4.3邏輯運算符及邏輯表達式
§2.4.4賦值運算符
習 題
第三章 程式控制語句
§3.1if語句
§3.1.1簡單的if語句
§3.1.2if-else語句
§3.1.3elseif語句
§3.2Switch語句
§3.3for循環語句
§3.4while語句
§3.5dowhile語句
習 題
第四章 函 數
§4.1函式定義的一般形式
§4.2函式參數與函式的返回值
§4.2.1形式參數和實際參數
§4.2.2函式的返回值
§4.3函式調用的一般形式
§4.3.1函式調用的一般形式
§4.3.2函式調用的方式
§4.3.3庫函式的調用
§4.4函式的嵌套調用
§4.5局部變數與全局變數
§4.5.1局部變數
§4.5.2全局變數
習 題
第五章 指針和數組
§5.1指針變數與指針表達式
§5.2數 組
§5.2.1一維數組
§5.2.2指向數組的指針
§5.2.3二維數組
§5.3字元串與字元串函式
§5.3.1字元串輸入
§5.3.2字元串函式
§5.3.3字元串數組
§5.4數組初始化
§5.4.1數組初始化的一般形式
§5.4.2不定大小數組初始化
習 題
第六章 結構與動態記憶體分配
§6.1結構類型和結構變數
§6.1.1結構類型的定義
§6.1.2結構變數的定義
§6.1.3結構變數的初始化
§6.2結構變數成員的引用
§6.3結構數組
§6.3.1結構數組的定義
§6.3.2結構數組的初始化
§6.3.3舉 例
§6.4結構指針
§6.4.1結構指針的定義
§6.4.2結構指針的使用
§6.4.3舉 例
§6.5動態記憶體分配
§6.5.1C語言程式的存貯空間的分配
§6.5.2動態記憶體分配
§6.5.3動態記憶體分配函式的使用
習 題
第七章 數據結構概述
§7.1數據結構課程的形成與發展
§7.2數據結構
§7.3基本術語
習 題
第八章 線性表
§8.1線性表的邏輯結構
§8.2線性表的順序存貯結構
§8.3線性表的鏈式存貯結構
§8.3.1線性鍊表
§8.3.2循環鍊表
§8.3.3雙向鍊表
習 題
第九章 棧和佇列
§9.1棧
§9.1.1棧的定義和基本操作
§9.1.2棧的表示和實現
§9.1.3鏈 棧
§9.1.4棧的套用
§9.2棧與遞歸
§9.3隊 列
§9.3.1佇列的定義和基本運算
§9.3.2佇列的順序存貯結構
§9.3.3鏈佇列
習 題
第十章 樹
§10.1樹的基本概念和術語
§10.2樹的存貯結構
§10.3二叉樹
§10.3.1二叉樹的定義和性質
§10.3.2二叉樹的存貯結構
§10.3.3二叉樹的建立
§10.4遍歷二叉樹
§10.4.1遍歷二叉樹的定義及遞歸算法
§10.4.2遍歷二叉樹的非遞歸算法
§10.5二叉樹的具體操作
§10.5.1排序二叉樹
§10.5.2二叉樹的插入操作
§10.5.3二叉樹中元素的查找
§10.5.4從二叉樹中刪除一個成員
§10.5.5遍歷一棵二叉樹
§10.6哈夫曼樹及哈夫曼編碼
§10.6.1最優二叉樹(哈夫曼樹)
§10.6.2哈夫曼編碼
§10.7二叉樹的套用實例
習 題
第十一章 圖
§11.1圖的概念
§11.2圖的存貯表示
§11.2.1圖的鄰接矩陣表示
§11.2.2圖的鄰接表表示
§11.3圖的遍歷
§11.3.1圖的深度優先遍歷
§11.3.2圖的寬度優先遍歷
§11.4生成樹與最小生成樹
§11.4.1基本概念
§11.4.2prim算法的基本思想
§11.4.3prim算法的C語言實現
§11.5關鍵路徑和最短路徑
§11.5.1拓撲排序
§11.5.2關鍵路徑
§11.5.3最短路徑
習 題
第十二章 分類與檢索
§12.1基本概念
§12.2選擇排序
§12.3插入排序
§12.3.1直接插入排序
§12.3.2二分法插入排序
§12.4快速排序
§12.5檢 索
習 題
第十三章 數據結構套用舉例
§13.1計畫網路
§13.1.1網路計畫的方法
§13.1.2關鍵路徑及時間參數計算
§13.1.3計畫網路程式的主要數據結構
§13.1.4計畫網路程式的主要函式實現
§13.1.5計畫網路源程式清單
§13.2用鍊表技術實現下拉式選單
§13.2.1問題提出
§13.2.2軟體中使用的標準函式
§13.2.3下拉式選單軟體包函式
§13.2.4下拉式選單源程式
§13.2.5下拉式選單程式的總結
第十四章 TurboC2.0集成開發環境
§14.1Turb0C2.0的安裝
§14.1.1用安裝工具INSTALL在硬碟安裝TC
§14.1.2手工安裝TC
§14.2Trub0C2.0集成開發環境簡介
§14.3C程式的編輯和運行
§14.3.1源程式的建立和編輯
§14.3.2C程式的編譯和運行
§14.4C程式的調試
§14.5設定TC工作環境
§14.6運行環境
§14.7調試技巧
附錄
Turb0C2.0主要庫函式的格式和功能