原创 面試題:向無頭單鏈表的某一已知結點之前插入結點

題目:已知某一無頭單鏈表的某一結點p(不是第一個,也不是最後一個),向該結點之前插入已知結點q。 //***************************************** //題目:已知一個不知道頭結點的單鏈表的某一個 /

原创 面試題:判斷單鏈表是否爲循環鏈表-快慢指針

題目:判斷單鏈表是否爲循環鏈表(判斷鏈表中是否存在環) 分析:使用快慢2個指針,2個指針都從鏈表頭開始遍歷,快指針每次移動2個結點,滿指針每次移動1個結點。若鏈表中存在環,則快慢2指針後在鏈表的某一位置相遇,否則她們不會相遇。 typed

原创 數據結構之鏈棧實現

       順序棧和鏈棧的優缺點在我就不贅述了,她們只是存儲方式的區別罷了。不過鏈棧的好處就是她存儲數據的數量是動態變化的,只在你需要的時候增加或刪除。這裏需要重提的一個問題是在使用free()函數釋放空間後需要將指針置空,防止野指針。

原创 開始學習python--不要以沒時間爲藉口

從今年的5月份起,我就知道有這門語言了,看到它的第一眼我就被深深地吸引了。當時我就下定決心把這門語言掌握,不管是出於興趣還是將來工作的需要。我是一個有點三分鐘激情的人,對一件事往往很難堅持做下來。在網上看了大家的推薦後,覺得電子書看着沒意

原创 數據結構之雙向鏈表實現

       與單向鏈表不同,雙向鏈表的每一個結點除了包含數據外,還包含一頭一尾2個指針,分別指向他的前驅結點和後繼結點,這樣在已知某一結點時,查找他的前驅結點和後繼結點就很方便。但是因爲有2個指針,存儲時消耗的空間大,並且操作起來比單向

原创 數據結構之順序棧實現

       棧是一種後進先出(LIFO)的數據存儲結構,我們可以把她想象成一個圓筒形的餅乾盒,裏面的餅乾就代表一個一個的數據。當你想要吃餅乾的時候,你只能從上到下一塊一塊的吃。如果上面的餅乾沒吃完,你無法拿到下面的餅乾。同樣的,當你往盒

原创 面試題:從無頭鏈表中刪除已知結點

題目:從無頭單向鏈表中刪除已知結點(不是頭結點也不是最後一個結點) 分析:由於是無頭單向鏈表,故無法根據現有的結點找到他的前一個結點,只能找到他 的下一個結點。採用替換的方式,將該結點的下一個結點的內容賦給他,然後刪除他的下一個結點,則可

原创 數據結構之單向鏈表實現

       在單向鏈表中,數據被存儲在一個一個的“結點”中,這些“結點”在內存中並非是處於相鄰的位置,而是“見縫插針”,由系統分配在一小塊一小塊的內存中。在進行插入數據的操作時,你需要告訴系統你需要一塊內存,系統會根據你設定的大小在堆中

原创 張家界之旅

行程安排:        6月13日   晚,下班直奔高鐵站,晚11點到長沙,入住酒店。                       12點:火宮殿品小吃    臭豆腐        6月14日  上午:坐大巴直奔張家界        

原创 數據結構之順序表實現

      順序表是ADT中的基本類型,它一般用數組來儲存數據的數據。順序表的優點是存儲數據方便,缺點是插入和刪除數據時,需要移動結點。 #include <stdio.h> #include <stdlib.h> //typede

原创 一個簡單的計算從1到1000000000所花時間的小程序

    最近在看《算法:C語言實現(第1~4部分)》,在第二章有一個小程序,是計算從1到1000000000所花的時間。這個程序很簡單,只需要3個簡單的for循環就實現了,但怎樣計算程序運行的時間卻讓我犯了難,似乎以前還沒有這樣幹過。在網

原创 ACM題庫系列:誰拿了最多的獎學金

Problem description     某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,獲取的條件各自不同: 1) 院士獎學金,每人8000元,期末平均成績高於80分(>80),並且在本學期內發表1篇或1篇以上