學習筆記-202008

2020-08-09 19:59:00

多維陣列

c語言中通常用多維陣列來表示表。
多維陣列的自增1時,是逐行遞增,所以想逐行瀏覽就需要自增n(列數)

extern

extern用在變數前表示該變數的定義在外部;
extern用在函數前,沒有實際意義,可以不寫,因爲預設情況下函數就是extern的。
參考鏈接:
https://blog.csdn.net/zengaliang/article/details/78337712?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
https://blog.csdn.net/u012241570/article/details/80730859

https://blog.csdn.net/qq_38880380/article/details/81474580

excel分組分級顯示

https://www.xuexila.com/excel/2007/3755759.html

編碼規範

內部函數和變數在.c檔案內宣告,外部函數在.h中宣告。

記憶體變數什麼時候重新整理到硬碟?

當系統發bai出儲存數據命令時,就會將記憶體du中相應的數據寫zhi到硬碟上儲存啦。還有一種情況,就是電dao腦的記憶體容量較小,記憶體中數據不能滿足CPU使用需求時,會將暫時用不上的數據寫入硬碟上的Filepage.sys(虛擬記憶體)中儲存,用時再讀到記憶體中啦。
參考鏈接:https://zhidao.baidu.com/question/1115105697270303459.html

C語言中數位後面加個大寫字母U是什麼意思?

加個大寫字母U意思是無符號整型。
在對應的帶符號整型前面加上unsigned,也就是zhiunsigned int、unsigned short、unsigned long、unsigned long long。其中unsigned int可以直接寫爲daounsigned。 }無符號整型不能儲存負數,但儲存的最大值可以擴大一倍,例如unsigned的範圍就是0~232-1。

編碼思維

Input->handle->output(Interface)

map和hashmap

std::map是紅黑樹排序;

hashmap即std::unordered_map,是採用hash排序,hash排序查詢速度快,但執行hash函數需要額外時間。

今天想查一下c++ hashmap的使用方法,搜出來的一些文章實在辣眼睛,竟然很多都混淆了c++中map和hashmap的區別。

首先,c++ 標準庫的std::map內部是排序的,內部使用的是紅黑樹實現,不管是增加還是查詢的時間複雜度 O(logN)

O(logN)。

而c++ 標準庫的hashmap其實叫作std::unordered_map,其增加和查詢的時間複雜度纔是 O(1)

O(1)。它提供了類似map的方法。在c++11下直接使用標頭檔案#include <unordered_map> 就可以了,如果不在c++11標準下,也可以使用#include <tr1/unordered_map> 來支援hashmap.

當然有人可能會說其實c++有個叫作hash_map的庫,但那不是標準庫,參照一個stackoverflow的評論來告訴你如何取捨:

@ShameelMohamed, 2017, i.e. 6 years after C++11 it should be hard to find an STL that doesn’t provide unordered_map. Thus, there is no reason to consider the non-standard hash_map. – maxschlepzig Feb 13 '17 at 10:42

參考鏈接:
https://blog.csdn.net/mgsweet/article/details/105649792
https://blog.csdn.net/forever__1234/article/details/89647975

編碼規範

只有一條執行語句的if語句,可以使用三目運算子代替。