原创 棧2

棧裏面還包含一種兩棧共享空間的形式: 就是把一個數組,從中間的每個位置分開,分別以兩個端點爲底(棧1與棧2),用兩個指針表示即可。 棧1爲空則top1=-1,棧2爲空top2=maxsize。和上次那個棧差不多,就不再囉嗦。 下面

原创 5月25日學習總結

這幾天沒學啥新鮮的,今天就分享一下圖書館代碼吧!這個代碼比較繁瑣,大家可以在裏面找找自己需要的信息,希望有所幫助。與君共勉! #include<bits/stdc++.h> using namespace std; class B

原创 4月20日學習總結

今天不知不覺編代碼太晚了,沒看時間,竟然過了十二點,明天一起補上。這幾天忙的厲害,總是找不到時間好好學學習。

原创 BF算法與KMP

BF算法是我感覺最簡單的模式匹配的解法,說白了就是暴力吧!就是太耗時間了,一般不採取。 簡單的功能實現函數: int BF(char s[],char t[]) { int lens=strlen(s);//計算字符串的長

原创 5月4日學習總結

一、 三分算法 三分算法和二分算法差不多都是從最小的到最大的依次進行查找。 例如定義:left和right Mid=(left+right)/2; Midmid=(Mid+right)/2; 如果Mid靠近極值點,則right=M

原创 樹和二叉樹的知識

關於樹的學習該一段落,在這裏就簡單的總結一下自己曾經踩過的坑,希望能給看到這篇文章、正在學習樹的朋友帶來學習的靈感。 首先想要學習樹,必須完全掌握它的物理概念,多看幾遍都不爲過,學樹最重要的是有層次感,自己在腦子中幻想一棵蘋果樹

原创 5月18日學習總結

上節課老師教授了兩種方式解決刪除vector中數據排序混亂問題,下面是通過虛刪的方式重新寫的代碼。這種方式適合數據類中有很多中數據的情況,用multimap時存vector中的下標,但是像這種通訊錄只有姓名和電話號碼的類,直接用的

原创 隊列

隊列也是一種存儲方式,頭進尾出。 先給出順序存儲的代碼: 主類 class Queue { int data[Maxsize]; int front,rear;//頭指針,以及尾指針 public:

原创 隊列的鏈式實現

鏈式實現相對於順序實現麻煩了點,但是好處也是顯而易見的,鏈式就沒有了空間限制是最大的優點。下面就給出實現代碼: 主類: struct Node { int data; Node *next; }; class Li

原创 雙鏈表

雙鏈表和單鏈表在原理上是差不多的,就是前後兩個數據之間存在兩個指針。既可以由前找後,也可以由後找前,說白了就是用空間換時間。下面就是雙鏈表的實現代碼: 主類: struct Node { int date; Nod

原创

這裏寫一個最簡單的棧: 主類: class seStack { int data[100];//數據 int top;//棧頂 public: seStack(); ~seStack();

原创 線性表的順序表

線性表包括順序表和鏈表,相對來說順序表還是挺簡單的,沒有指針,就不會出現各種亂七八糟的錯誤。下面主要對順序表的幾個主要實現功能進行簡單的分析以及講解: 主類: const int Maxsize=100; template <cl

原创 線性表的鏈式存儲

上次分享了順序存儲的主要代碼,這次的鏈式存儲因爲使用到了指針就比較難了,一不小心就會出現錯誤。 主類: struct Node { T data; Node<T> *next; }; template<class

原创 求最小生成樹

求最小生成樹現在我所學到的有兩種算法:kruskal算法以及prim算法。 kruskal算法 這個算法實際上就是加邊法,每次選擇最小的邊加入集合(加入的邊不能構成迴路),直到把所有的節點都找到爲止。 #include<ios

原创 程序設計學習感悟

學習程序設計也半個學期了,課本大約學習了三分之二,還有一些知識沒涉及到。雖然只有短短半學期的學習,只是學習到了一些皮毛,也使我意識到了寫程序不單單意味這能夠使代碼能夠跑出來,這更是一門藝術。一開始寫類的時候真的很難,沒有任何思路,