⑴ 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