原创 模擬一些字符串庫函數(筆試常考)

40、字符串拷貝函數 #include<stdio.h> #include<assert.h> char* my_strcpy(char* dst, const char* src) { assert(dst); assert(sr

原创 二叉搜索(排序)樹的 查找、插入、刪除

#pragma once #include<iostream> using namespace std; template <class K,class V> struct BinaryNode{ struct BinaryN

原创 哈希表的插入、查找、刪除

散列表(Hash Table,也叫哈希表),是根據關鍵碼值(key value)而進行直接訪問的數據結構。它通過關鍵碼值映射到表中的一個位置來訪問記錄,以加快訪問的速度。這個映射函數叫做散列函數,存放的數組叫做散列表。

原创 I/O多路轉接至poll

不同於select使用三個位圖來表示三個fdset的方式,poll使用了一個人pollfd的指針來實現。 pollfd結構包含了要監視的event和要發生的event,不在使用select“參數-值”的方式。同時,pollffd並沒有

原创 c語言寫的一些小程序

3.使用c語言編寫程序,在屏幕打印 9 * 9乘法表 #include<stdio.h> int main() { int i = 0; int j = 0; for (i = 1; i < 10; i++) { for

原创 I/O多路轉接之select

select 參數nfds是需要監視的最⼤大的⽂文件描述符值+1;  rdset,wrset,exset分別對應於需要檢測的可讀文件描述符的集合,可寫文件描述符的集合及異常文件描述符的集合。  struct timeval結構用於描述一

原创 c語言內存管理函數,模擬memcpy、memmove(實現內存重疊拷貝)、memset

43、實現內存拷貝,功能類似於memcpy,可以不實現內存重疊拷貝,不能使用任何庫函數 dest比src低,則可以從s頭開始拷貝; dest比src高,則爲了保證s的數據不會被覆蓋,所以要從s的末尾開始拷貝 #include<stdio.

原创 c語言筆試題

47、一元一瓶汽水,喝完後兩個空瓶子換一瓶汽水,問:有20塊錢,最多可以喝多少瓶水? #include <stdio.h> int money(double money, int sum) { while (money >= 1) {

原创 c語言小程序

21、求一個3*3矩陣對角線元素之和 #include<stdio.h> int main() { int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; int i =

原创 c語言編的心形圖案,有興趣的看看

#include<stdio.h> #include<math.h> int main() { float x, y, z, f; for (y = 1.5f; y>-1.5f; y -= 0.1f) { for (x

原创 堆排序

堆排序利用了大根堆(或小根堆)堆頂記錄的關鍵字最大(或最小)這一特徵,使得在當前無序區中選取最大(或最小)關鍵字的記錄變得簡單。 (1)用大根堆排序的基本思想 ① 先將初始文件R[1..n]建成一個大根堆,此堆爲初始的無序區 ②