sort函式
struct中的建構函式與new的使用
string.substr有用法:string.substr(start, length)
其中 start取值範圍為[0,string.size()]當start 為string.size()時返回空串,length可省略
數轉string: to_string()
string 轉 數:stoi ();stol();stoul();stoll();stod();stof() 及函式原型
int stoi (const string& str, size_t* idx = 0, int base = 10);
long stol (const string& str, size_t* idx = 0, int base = 10);
unsigned long stoul (const string& str, size_t* idx = 0, int base = 10);
long long stoll (const string& str, size_t* idx = 0, int base = 10);
double stod (const string& str, size_t* idx = 0);
float stof (const string& str, size_t* idx = 0);
對vector排序使用
sort(vector.begin(),vector.end(),cmp)
sort(vector.begin(),vector.end())
預設的cmp是從小到大 ,也可以自己定義cmp
bool cmp
(const
int&a,
const
int&b)
// 此時的話就是定義的從大到小的排序
當結構體中定義了建構函式之後需要按照建構函式的方式申請記憶體
struct listnode
// 建構函式};
listnode *s = new listnode;
// 此時會報錯
listnode s =
listnode(0
);// 需要以這樣的方式宣告乙個val為0的節點
當迴圈生成節點的時候需要使用new為節點指標申請記憶體空間
//如果結構體是這樣的; 沒有建構函式
struct listnode
;listnode* head =
null
;for
(int i=
0; i<
4; i++
)//遍歷得到 3 2 1 0
//如果結構體是這樣的; 有建構函式
struct listnode
// 建構函式};
listnode* head = new listnode(0
);listnode* p = head;
for(
int i=
0; i<
4; i++
)head = head->next;
p->next =
null
;//遍歷得到 0 1 2 3
迴圈中用listnode temp(0)
則每次temp都是同乙個位址空間,因為在for迴圈中每次迴圈結束儲存空間會被釋放掉,而在下一次迴圈開始的時候再次定義;並且在迴圈中每次定義的位址都是同乙個位址。 鍊錶 環形鍊錶
環形鍊錶也叫迴圈鍊錶 可以是雙鏈表 也可以是單鏈表 操作原理和單鏈表差不多,只是最後乙個節點不在指向空 null 而是頭 head 這裡以單鏈表舉例 description 環形鍊錶 author lzq date 2018 11 3 20 46 version 1.0 public class a...
鍊錶 初識鍊錶
鍊錶 前言 小弟初學資料結構,有錯誤的地方望大家不吝賜教 認識鍊錶 列表相比陣列更具有優勢,鍊錶不同於資料和其他資料結構依靠位置來進行訪問或者其他操作,如陣列是依靠下表來運算元據。而鍊錶是通過關係來尋找或者運算元據。鍊錶的特性 插入 和 刪除 效率高,只需要變更指向的鏈結點即可。但是隨即訪問操作的效...
鍊錶(鍊錶建立)
先找到了一些與單鏈表相關的概念 2.指標域 ai元素儲存指向後繼元素儲存位置的資訊 3.結點 包含資料域和指標域 4.單鏈表 每個結點只包含乙個指標域的線性表 5.頭指標 要素 鍊錶中第乙個結點的儲存位置 線性表最後乙個結點指標為空 6.頭結點 非要素 單鏈表第乙個結點前附設乙個結點 其指標域指向第...