
C&C++
贫道之思
这个作者很懒,什么都没留下…
展开
-
指针和引用的区别
(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。原创 2014-09-07 19:19:21 · 299 阅读 · 0 评论 -
C语言中三种常见排序算法分析
C语言中三种常见排序算法分析一、冒泡法(起泡法) 算法要求:用起泡法对10个整数按升序排序。 算法分析:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j次两两比较。比较的顺序从前往后,经过一趟比较后,将最值沉底(换到最后一个元素位置),最大值沉底为升序,最小值沉底为降序。 算法源代码:# include转载 2014-09-30 22:38:42 · 764 阅读 · 0 评论 -
不用中间变量实现交换数据
第一种int x=7,y=8; x=x+y; y=x-y; x=x-y; 用按位 异或来交换数原理是什么比如, int x=7,y=8; x=x^y; y=y^x; x=x^y; 结果x=8,y=7; 原理就是数字A异或B两次,就得到A。而B被A异或两次,就得到B。 int x =7; int y = 8; x =原创 2014-10-17 09:22:18 · 541 阅读 · 0 评论 -
编程题
1、将一整数逆序后放入一数组中(要求递归实现)void convert(int *result, int n) { if(n>=10) convert(result+1, n/10); *result = n%10; }int main(int argc, char* argv[]) { int n = 123456789, result[20]={}; conv转载 2014-10-17 09:47:05 · 565 阅读 · 0 评论 -
判断单链表是否有环
bool FixRing(Node * pHead) { Node * pSlow = pHead ; Node * pFast = pHead; while ( pFast && pFast -> next ) //如果存在环,不存在p-next=NULL的情况 { pSlow = pSlow -> next;//前进一步原创 2014-10-20 22:37:05 · 498 阅读 · 0 评论 -
判断两个单向链表是否有交点
解题思路: 如果存在交点,两个链表在交点及其之后的部分是一致的-----这点很关键,一致的意思包括两部分:长度和内容。struct Node { int data; struct Node * next; }; Node* FixIntersetion(Node* pHead1, Node* pHead2) {转载 2014-10-20 22:37:26 · 583 阅读 · 0 评论