原创 牛客網--把字符串轉換成整數

來源:牛客網 題目描述 將一個字符串轉換成一個整數,要求不能使用字符串轉換整數的庫函數。 數值爲0或者字符串不是一個合法的數值則返回0 輸入描述 : 輸入一個字符串, 包括數字字母符號, 可以爲空 輸出描述 : 如果是合法的數值表

原创 C語言:簡單實現三子棋小遊戲

三子棋,就是在一個棋盤上三個相同棋子連成一條線即贏下游戲。 下面介紹遊戲的具體實現過程: 首先,我們需要一個菜單供選擇,先選擇玩遊戲後,就該設計遊戲了,三子棋需要有棋盤,所以該遊戲我們定義二維數組,然後初始化這個棋盤,接着顯示這個

原创 字符串中的第一個唯一字符

題目描述:給定一個字符串,找到它的第一個不重複的字符,並返回它的索引。如果不存在,則返回 - 1。 案例 : s = “leetcode” 返回 0 s = “loveleetcode”, 返回 2. 思路: 統計每個字符出現了多

原创 C++】如何重載 輸出和輸入?(友元函數)

因爲cout的輸出流對象和隱含的this指針在搶佔第一個參數的位置,所以,沒有辦法將operator<<重載成類的成員函數。 this指針默認是第一個參數,也就是左操作數,但在實際使用中cout需要的是第一個形參對象,才能正常使用

原创 C語言:求二進制中1的個數(3種方法)

題目:寫一個函數返回參數二進制中 1 的個數 比如: 15-> 0000 1111 4 個 1 程序原型: int count_one_bits(unsigned int value) { // 返回 1的位數 } 介紹三種方法:

原创 C++】Date類(日期與天數加減、日期與日期加減)

實現日期與天數的加減、日期與日期的加減 涉及主要知識:構造函數、析構函數、拷貝構造、運算符重載 #include<iostream> #include<stdio.h> #include<stdlib.h> using names

原创 字符串最後一個單詞長度

題目描述 計算字符串最後一個單詞的長度,單詞以空格隔開。 輸入描述 : 一行字符串,非空,長度小於5000。 輸出描述 : 整數N,最後一個單詞的長度。 示例1 輸入 hello world 輸出 5 size_t rfind(c

原创 對淺拷貝、深拷貝、寫時拷貝的簡單認識

淺拷貝 也稱位拷貝或值拷貝。如果對象中管理資源,編譯器只是將對象中的值拷貝過來,就會導致多個資源共享一份資源,當一個對象銷燬時就會將該資源釋放,而這時另一些對象不知道該資源已經被釋放,以爲還有效,所以,對資源繼續操作,就會發生訪問

原创 C語言:用函數指針數組實現轉移表(計算器)

函數指針數組也是數組,數組的每一個成員是函數指針(這個指針指向函數),可以通過它實現一個轉移表(計算器) 代碼如下: 函數部分: #include<stdio.h> #include<windows.h> #pragma warn

原创 C語言:結構體內存對齊

結構體內存對齊即計算結構體的大小 首先,我們需要知道爲什麼要內存對齊? 1.平臺原因:不是所有的硬件平臺都能訪問任意地址上的任意數據;某些硬件平臺只能在某些地址處取某些特定類型的數據,否則拋出異常 2.性能原因:數據結構(尤其是棧

原创 優先級隊列

優先級隊列,本質上是堆 是一種容器適配器,根據嚴格的弱排序標準,她的第一個元素總是它所包含的元素中最大的(默認情況下是大堆) 默認情況下,使用vector作爲其底層存儲數據的容器 默認創建的是大堆,其底層按照小於的方式比較 #

原创 牛客網---不能使用乘除等條件,求1+2+3+...+n

題目:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C) 解: 1.創建n次對象,調用n次構造函數 2.不能直接用數組創建n個對象(數組下標不能

原创 如何防止類被拷貝?

類怎樣可以被拷貝,就是調用拷貝構造函數,和賦值運算符重載,那我們把它們設置成私有的就好了 class Test { public: Test() {} private: //C++98 Test(Test& t); Te

原创 C語言:求出0~999之間的所有“水仙花數”並輸出

我們需要知道什麼是水仙花數 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3,則153是一個“水仙花數”。 #define _CRT_SECURE_NO_WARNINGS #include<s

原创 C++:內聯函數、auto關鍵字

內聯函數 以inline修飾的函數叫做內聯函數,編譯時C++編譯器會在調用內聯函數的地方展開,沒有函數壓棧的開銷,內聯函數提升程序運行的效率。 特性: 1.內聯函數是一種以空間換時間的做法,省去調用函數額外開銷,所以代碼很長或者