原创 C語言實現數據結構-----棧

棧 棧是一種先進後出(LIFO)的數據結構,棧的一個最重要的特徵就是隻能在棧頂進行入棧和出棧操作。今天我們來講一下最簡單的棧的實現,靜態棧的實現,可以把它看作是一個數組,但是這個數組我們只能在它的末尾進行插入和刪除操作,是一種受限

原创 C語言實現動態鏈表

鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱爲結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另

原创 AVL搜索二叉樹C語言實現

什麼是AVL搜索二叉樹? AVL樹本質上還是一棵二叉搜索樹,它的特點是: 1.本身首先是一棵二叉搜索樹。 2.帶有平衡條件:每個結點的左右子樹的高度之差的絕對值(平衡因子)最多爲1。 也就是說,AVL樹,本質上是帶了平衡功能的二叉

原创 C語言實現基於TCP的多線程聊天室

基於TCP的服務器/客戶機的模型 1.基本特徵 面向連接的,可靠的,保證數據完整性和有序性 每個發送都有應答,若在時間窗口內沒有收到A的應答,則從A開始重新發送。 編程模型 三次握手四次分手 服務器的實現 服務器的思路是等待

原创 UC環境編程一-----------------編程環境

1.Unix族譜 2.GUN工程:基本原則就是共享,其主旨在於發展一個有別於一切商業Unix的,免費且完整的類Unit系統。 3.POSIX標準:統一的系統編程接口規範。 4.GPL通用公共許可證 5.構建過程: 1)編輯 vi

原创 用C語言完整實現12種排序方法

排序方法(升序): 1.冒泡排序 2.插入排序 3.折半插排序 4.希爾排序 5.選擇排序 6.雞尾酒排序 7.堆排序 8.快速排序 9.歸併排序 10.計數排序 11.桶排序 12.基數排序 1.冒泡排序 思路:比較相鄰的兩個數

原创 c語言實現數據結構----隊列

隊列 像棧一樣,隊列也是數據結構中一種受限制的線性表,它是一種先進先出的數據結構,就和我們現實生活中的排隊一樣。 接下來我們一起來實現雙向隊列的一些方法 雙向隊列的線性存儲 雙向隊列的類型定義 typedef struct De

原创 C語言實現學生信息管理系統(結構體指針、動態內存)

一.功能: 1.連續增加學生信息 2.刪除學生信息 3.修改學生信息 4.查找學生信息 5.列出學生信息 6.保存學生信息到文件 7.從文件中加載學生信息 二.學生信息結構體 首先定義一個學生結構體,再直接定義一個全局指針變量st

原创 sizeof:那些不爲人知的小祕密

sizeof()到底是什麼? 每當人們在一段代碼中看到**sizeof()**時,許多人總是會認爲這是一個庫自帶的函數,那它真就是一個函數嗎?我們首先來看一下比較官方的解釋: The sizeof keyword gives th

原创 C語言中字符串處理函數詳解

1.C語言的字符串 首先C語言中並沒有字符串這個基礎數據類型。但是字符串在c語言中的涉及卻是十分的廣泛,並且也是十分重要的。 定義: 由雙引號" "引起來的內存中的一串字符且以’\0’爲結束標誌符 的字符。 字符串的操作 1.

原创 UC環境編程二-----------內存管理

1.錯誤處理 (1)通過函數的返回值表示錯誤 (2)返回有效指針表示成功,返回空指針NULL (3)通過errno表示錯誤 根據errno獲得錯誤信息 將errno轉換成有意義的字符串 printf("%m\n"); printf

原创 經典問題——八皇后問題:最適合C語言初學者的解法

什麼是八皇后問題: 八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾於1848年提出:在8×8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一

原创 C語言實現程序連接數據庫並實現簡單的嵌入式服務器

我們可以直接訪問數據庫,當然我們也需要在程序中連接數據庫。 接下來我將介紹嵌入式MySQL服務器庫。 使用嵌入式 MySQL 服務器庫, 能夠在客戶端應用程序中使用具備全部特性的 MySQL 服務器。 主要優點在於,增加了速度,並

原创 C語言綜合項目——圖書管理系統

功能導圖 源代碼下載鏈接 點擊https://download.csdn.net/download/weixin_42617375/11997181 點贊 收藏 分享 文章舉報