原创 C++——順序容器的emplace操作

經常使用STL的同學肯定對push_front,push_back和insert不會陌生。我們對容器進行插入操作經常要用到這三個函數,來將元素放置在容器頭部、指定位置或容器尾部。 C++11新標準引入了三個新函數——emplace

原创 C++——使用變量作爲數組長度

C++中一般是不能使用變量作爲一個數組的長度的,必須使用常量。 這是因爲數組作爲C++的內置數據類型,其空間分配在棧內存中,這部分空間的大小在編譯時就要確定,不能等到運行時再分配。常量的值在編譯時就能得到,而變量的值在運行時才能確

原创 C渣的算法疑問——這你不斷鏈?哦形參是指針引用。

對於算法: 使用遞歸方法,刪除無頭結點單鏈表中所有值爲x的結點。 考慮如下遞歸程序: typedef struct node{ int data; struct node *next; }LNode *LinkLi

原创 C++——以任意數爲底的對數

C++內置對數函數只有以e爲底和以10爲底的,如果想要以m爲底的對數可以藉助如下公式: loga(n)/loga(m) = logm(n) 即: double res = log(n)/log(m); //res = log

原创 這裏面也有點小細節——虛擬機集羣搭建

虛擬機集羣搭建 1.安裝虛擬機 win10的1903更新導致舊版vmware不能繼續使用,因此下載了vmware15版本。注意,需要下載vmware workstation pro,因爲免費的vmware player沒有克隆功能

原创 這裏面也有點小細節——CentOS單機安裝Hadoop

安裝HADOOP 首先下載一個tar包在本地。 這裏選擇放在用戶家目錄下。 然後解壓縮。 [hadoop@localhost ~]$ tar xzf hadoop-2.8.5.tar.gz 配置JAVA_HOME環境: [ha

原创 這裏面也有點小細節——CentOS配置SSH免密登錄

CentOS配置SSH免密登錄 1.創建普通用戶 不能使用root用戶配置,需要一個普通用戶。 [root@localhost ~]# adduser master [root@localhost ~]# passwd maste

原创 安裝MySQL Server——安裝方法一直在變好煩啊

安裝MySQL Server 環境:windows 版本:8.0.17 1.下載安裝包 社區版Server 下載地址 2.安裝和配置 下載完後,將 zip 包解壓到相應的目錄,這裏我將解壓後的文件夾放在 D:\mysql-8.0.

原创 大創項目——Scrapy爬取新浪高考成績

背景 記得那是去年秋天,我揹着我心愛的小書包在校園裏走着,突然接到老師的電話。 “研究生院大創項目開始了,咱們實驗室也要報一個,負責人就決定是你了。一會我給你發幾個表格你填一下交上去。” 我心想說“另請高明吧”。但是老師講已經決定了。我就

原创 排坑——阿里雲僞分佈式安裝hadoop

坑0 把hadoop用戶分進root組 其實這個不算坑,單純是我自己蠢 adduser hadoop sudo 坑1 配置文件 要用0.0.0.0,不能用localhost 另外這些文件是放在hadoop安裝目錄下的ect/ha

原创 牛頓迭代法求平方根

方法描述: 首先隨便猜一個近似值x,然後迭代地令x=(x+a/x)/2,迭代個六七次後x的值就已經相當精確了。 代碼實現: int mysqrt(int x) { if (x == 0) return 0; double last

原创 解決默認unordered_set無法哈希vector的問題

有如下代碼: unordered_set<vector<int>> dict; 上述代碼在編譯時會報錯: 錯誤    C2338    The C++ Standard doesn't provide a hash for this

原创 GCD最大公約數算法

int gcd(int a, int b) { int s = a < b ? a : b; int l = a > b ? a : b; int tmp = -1; while (s) { tmp = s;

原创 C++以自定義底的對數函數

C++內置對數函數只有以e爲底和以10爲底的,如果想要以m爲底的對數可以藉助如下公式: loga(n)/loga(m) = logm(n) 即: double res = log(n)/log(m); //res = logm(

原创 浮點數陷阱

在《算法競賽入門經典(第二版)》(紫書)的第二章,最後有一道思考題: 下面的程序運行結果是什麼?提示:請上機實驗,不要憑主觀感覺回答。 #include<stdio.h> int main() { double i; for (i