⑴ p!=NULL與p->next!=NULL區別
都起作用,前一個,p就是尾結點,後一個p是尾結點的前一個結點,單鏈表需要找到前一個結點,才能插入和刪除,雙鏈表找到結點本身就可以插入和刪除,修改數據的話,找到結點本身最好!鏈表是存儲數據的,數據才是程序要用的,鏈表只是數據存放的手段!只所以會有各種數據結構,是數據的組織方式要求的,各種數據結構相關的演算法,都是為使用數據服務的!
⑵ php判斷鏈表是否有環
判斷是否帶環:用快慢指針。快指針每走兩步,慢指針走一步,如果兩者在某個點處相。
遇,則鏈表帶環。
下邊給出函數的實現代碼:
typedef struct LinkNode{DataType data;struct LinkNode *next;}LinkNode,*pLinkNode;typedef struct LinkList{LinkNode *pHead;}LinkList,*pLinkList;pLinkNode isCircle(pLinkList plist){assert(plist);if (NULL == plist->pHead){printf("鏈表為空 ");return NULL;}pLinkNode fast = plist->pHead;pLinkNode slow = plist->pHead;while (fast && fast->next){fast = fast->next->next;slow = slow->next;if (fast == slow)return fast;}return NULL;}
如果
如果鏈表帶環,看下邊的圖:
代碼:
pLinkNode firstCrossNode(pLinkList plist){assert(plist);if (NULL == plist->pHead){printf("鏈表是空 ");return NULL;}pLinkNode ret = isCircle(plist);if (ret == NULL){printf("鏈表不帶環 ");return NULL;}pLinkNode fast = plist->pHead;pLinkNode slow = ret;while (fast){fast = fast->next;slow = slow->next;if (fast == slow)return fast;}}⑶ 在由尾指針rear指示的單循環鏈表中,在表尾插入一個結點s的操作序列是( )刪除開始結點的操作序列為(
【解答】(1)s->next =rear->next; rear->next =s; rear =s;
(2)q=rear->next->next; rear->next->next=q->next; delete q;
在參考資料的網址上有很詳細的解析。這個課後練習應該有你想要的全部答案和解析,希望對你有幫助!
⑷ 誰有面試phper的經驗
這方面網上有比較多的,針對3-5年的PHPer常見的面試題,參考如下:
1、平時喜歡哪些php書籍及博客?CSDN、虎嗅、獵雲
2、js閉包是什麼?
3、for與foreach哪個更快?
4、php鳥哥是誰?能不能講一下php執行原理?
5、php加速器有哪些?apc、zend、xcache.....能不能講一下它的加速原理?
6、Node.js能徹底代替php+apache是扯淡。
7、怎樣判斷一個值是否存在於數組中?in_array(),array_key_exists,......
8、怎樣判斷select語句中是否使用了索引?explain
9、sphinx的中文分詞詞庫使用第三方庫還是自己建庫?
10、如果一個被面試者經驗少、基礎差,此時卻問些高深的知識。要懷疑它的穩定性,可以提問加班對他會不會有抵觸。
11、mysql與mysqli的區別有哪些?
12、將來的發展方向?安全、還是數據挖掘、大數據處理?
13、php的面向對象:類的修飾符、封裝、繼承、多態體現方面
14、php 多態是什麼?
15、Type Hinting:http://www.php.net/manual/en/language.oop5.typehinting.php
16、php的設計模式:單例模式、工廠模式、生產者模式......等23種
17、伺服器狀態碼:200、202、301、404、500......
18、i++與++i的區別?
19、項目開發:電商項目中的購物車數據持久化、考試系統的安全性考慮、
20、mysql設計基礎:三大範式、功能->思維導圖、創建表的第一欄位是什麼?
21、mysql欄位char、varchar、int、smallint、tinyint、mediumint、bigint、decimal、double、float位元組數及應用場景。
22、memcache與mongoDB、Redis各自的使用場景是什麼?
23、為什麼mongoDB與Redis非但沒有形成競爭反而是互補關系?
24、Redis數據類型有哪些?int、string、hash、set、list ?
25、安裝linux軟體時使用make方式還使用yum方式?
26、linux網路優化:查看進程ps -aux|grep mysqld、怎樣查看最大文件打開數?
27、C語言中的虛函數是什麼?
28、1條微薄要推送給100萬個粉絲該怎麼處理?
29、知道哪些演算法?冒泡排序?快速排序?二分查找法?
30、yii thinkphp ci 各自優點
31、php 設計模式有哪些?
32、c 排序演算法有哪些?
33、php 基本結構是什麼?
34、memcache magent 分布式設計?
35、redis 分布式設計,如何設計?
36、mongo 集群架構是怎樣的?
37、mysql 索引原理及sql性能優化
38、tcp/ip 網路協議,osi7層指是什麼?
39、php 處理大數據業務
40、linux 應用 負載性能查看 ?
41、nginx 實戰優化業務功能 ?
42、談一下近三年來你的得意之作?
43、看看簡歷,會問一些過去做的項目的用戶量、pv、吞吐量、相關難點和解決方法等
44、資料庫設計經驗,為什麼進行分表? 分庫?
45、一般多少數據量開始分表? 分庫? 分庫分表的目的? 什麼是資料庫垂直拆分? 水平拆分? 分區等等?可以舉例說明
46、資料庫優化有哪些? 分別需要注意什麼?
47、web開發方面會遇到哪些緩存? 分別如何優化?
48、給你256M的內存,對10G的文件進行排序(文件每行1個數字),如何實現?
49、對10G的文件進行查找如何實現?
50、統計10G文件每個關鍵字出現的次數如何實現?
51、假如你現在是12306火車訂票的設計師,你該如何設計滿足全國人民訂票?
52、假如有1億用戶的訪問量,你的伺服器架構是怎樣的? 用戶信息的存儲方案如何設計?
53、如果你是技術組長,所帶團隊任務進度無法完成你該如何解決?
54、如果在進度排滿的前提下插入任務,你該如何保證總進度不延期?
55、如果有的工程師今天預定任務沒有完成,你該如何解決?
56、從你的經驗方面談一下如何構建高性能web站點? 需要哪些環節? 步驟? 每個步驟需要注意什麼如何優化等?
57、為什麼要對資料庫進行主從分離?
58、如何處理多伺服器共享session?
59、一個10G的表,你用php程序統計某個欄位出現的次數,思路是?
60、會告訴你一個nginx日誌例子,用你認為最佳的編程語言統計一下http響應時間超過1秒的前10個url?
61、給你一個mysql配置文件,用你認為最佳的編程語言解析該文件?
62、給你兩個路徑a和b,寫一個演算法或思路計算a和b差距幾層並顯示a和b的交集?
63、給你一個url,在nginx配置一下rewrite指定到某個具體路徑?
64、一個php文件的解釋過程是? 一般加速php有哪些? 提高php整體性能會用到哪些技術?
65、session和cookie生存周期區別? 存儲位置區別?
66、require、include、require_once、include_once區別? 載入區別? 如果程序按需載入某個php文件你如何實現?
67、chrome號稱為多線程的,所以多線程和多進程的區別為?
68、php在2011年底出現hash碰撞,hash碰撞原理為? 如何進行修復?
69、web不安全因素有哪些? 分別如何防範?
70、假如兩個單鏈表相交,寫一個最優演算法計算交點位置,說思路也可以?
71、假如你是技術組長? 如何提高團隊效率?
72、nginx負載均衡有哪些? 如果其中一台伺服器掛掉,報警機制如何實現?
73、不優化前提下,apache一般最大連接數為? nginx一般最大連接數為? mysql 每秒insert ? select ? update ? delete?
74、mysql 數據類型有哪些 ? 分別佔用多少存儲空間 ?
75、nginx設置緩存js、css、圖片等信息,緩存的實現原理是?
76、如何提高緩存命中率? 如何對緩存進行顆粒化?
77、php的內存回收機制是?
78、我的所有問題都問完了(當然沒有這么多),你有什麼問題問我沒有?
⑸ php不支持指針,怎麼實現單向鏈表
你可以參照java實現的方法,在類里自包含一個類,呵呵
------解決方案--------------------
⑹ php如何判斷循環鏈表
可以用寬度為二或三的二維數組來代替,如一個5行3列的數組A[5,3]來做雙循環。
A[0,0]保存元素值,A[0,1]指向數組尾,A[0,2]指向下一個元素。....A[i,0]保存元素值,A[i,1]指向上一個元素,A[i,2]指向下一個元素....A[4,0]保存元素值,A[4,1]指向上一個元素,A[4,2]指向數組頭。利用數組長度判斷當前位置,這樣就形成了一個雙循環(單循環就去掉一列,指向一個方向就可以了)。
其實就是數據結構的知識。
⑺ PHP實現:如何在只給定單鏈表中某個結點的指針的情況下刪除該結點
p是要刪除的結點,q是p的前一個結點 q->next = p->next;//刪除的結點的後一結點的首地址賦值給刪除的結點的前一結點的next p->next->prior = q;//刪除的結點的後一結點的prior指向刪除的結點的前一結點的首地址
⑻ 我是信管專業的,現在學了C語言,在自學java,html,css,javascript,看網上說php好像相對容易就業
1. mysql就是sql的一種產品,你可以這么想:sql就是汽車,而mysql就是賓士;
2. wap你暫時可以理解為手機上的web,wap的發展目前尚不明朗,畢竟現在各種操作系統的手機性能越來越好,對web的直接支持也越來越強,越來越完美,所以我個人認為,wap的發展局限性很高。
3. 嵌入式編程技術確實有前途,但需要接觸的技術領域也相對較多,要對各種PLC、單片機、電路、感測器、甚至機械都有要所有了解,另外我個人對這方面也僅限於愛好,業界好不好混這些並不知情,所以沒有好的建議。
4. 學校現在確實不是好的專業技術學習場所,如果你想快速提高專業技能,還是把時間充分利用起來,進行自覺,或在節假日參加一些技術培訓。
5. 學習PHP的人現在很多,在我個人看來,倒像是一陣風,然而,PHP確實是很值得學習的一門語言,做伺服器端程序開發的話,你需要對apache、linux有一定的了解,最好能夠得心應手地配置LAMP伺服器,另外,HTML、CSS和JS是需要你有所有了的,但並不是一定要學到像人家前端工程師那樣精通,但至少要懂,很多時候,開發後端的時候和前端都會有交互,隨著ajax被人們越來越重視,這種綜合型的人才,地位也會越來越高。
6. 做伺服器端程序開發,下列這些語言你要懂(懂得便可,不要求精通):
HTML
CSS
JS
AJAX
XML
FLASH(AS)
要對下列這些語言精通(精通一兩個也可以,但如果全部精通就再好不過了)
PHP
ASP
SQL
JSP
PYTHON
另外,如果你精力有餘,學習一下C、C++、C#也是不錯的。
7、 網路安全現在隱約之間單獨形成了一門學問,這一點很重要,在學習各種伺服器端程序的時候,要對安全特別上心,這是十分重要的,甚至許多公司在招聘的時候,會拿出安全相關的面試題來。
基本就以上這些,程序類型許許多多,但重在舉一反三卻不是樣樣通樣樣松,另外,重要的是在編程的時候給自己積累經驗,建立編程思想和宏觀概念,最後通過幾年的工作後,能夠勝任架構設計,庫的開發等等。
另外,編程對數學的要求也很高,所以,你現在既然在上大學,數學課程一定要重視起來,不到「書到用時方恨少」
.
⑼ Linux,PHP,HTML,Perl,CSS,MySQL應該如何入門
你的問題我很樂意回答。
首先,你所提到的都是開發網站有關的,我很感興趣,因為我就是搞PHP的,你所提到的這些我都很熟悉。
二級C語言基礎給你的作用大概就是你要知道學一門計算機語言的語法都有些什麼步驟,比如說從常量,到變數,表達式,流程結構,數組,指針,對象等等。加深這些認識對學其他語言都很有幫助。
從你提到的這些來看,你要是選擇開發網站,這就跟我選的差不多,也就是LAMP =Linux+Apache+MySQL+PHP,首先當然是要學一下網站的一些常識,比如說網址,HTTP,靜態網頁,動態網站等等之類的,了解一下就可以了,開始的時候不必很深入。
具體怎麼學開發網站語言呢?我的建議是 第一學HTML,採用DIV+CSS結構構建靜態網站,第二學Javascript,這個對於客戶端與伺服器端來說都很重要,第三學一些繪圖軟體,如Photoshop,CorelDRAW等等,第四就是你提到的ACTIONSCRIPT,這個是動畫腳本,你使用FLASH軟體來學就是了,第五就是要學動態網站建設了,即你提到的要實現留言版,開發動態網站的語言主要是PHP與ASP,JSP,.NET之類的,不過PHP來勢兇猛,越來越佔主流了。
也許我這里要說的很清楚比較難,雖然我極力希望我跟你說得很清楚,但是可能不是一會兒功夫就說的完的,我最近寫了些專題,放在了百庫里你可以下載到如果你感興趣的話。
總之,學網站開發,牽涉到很多知識點,這時,就很需要你充分利用網路資源來為你服務,而專門去買書,在我看來,對於IT行業,效果不是很好。
祝你度過一個愉快而又充實的大學!
⑽ C++程序設計大作業要求
C++程序設計從零開始之語句
http://seasonfive.cn/read.php?tid-234.html
h用C++實現簡單的文件I/O操作
G http://seasonfive.cn/read.php?tid-236.html
lzw壓縮演算法的c語言實現
g http://seasonfive.cn/read.php?tid-237.html
%C/C++中的日期和時間
V http://seasonfive.cn/read.php?tid-238.html
)論C/C++函數間動態內存的傳遞
# http://seasonfive.cn/read.php?tid-239.html
MC++中的虛函數(virtual function)
Y http://seasonfive.cn/read.php?tid-240.html
鏈表的C語言實現之單鏈表的查找運算
[ http://seasonfive.cn/read.php?tid-241.html
L鏈表的C語言實現之單鏈表的實現
K http://seasonfive.cn/read.php?tid-242.html
"C++程序設計從零開始之指針
h http://seasonfive.cn/read.php?tid-243.html
NC++箴言:將強制轉型減到最少
j http://seasonfive.cn/read.php?tid-244.html