易截截图软件、单文件、免安装、纯绿色、仅160KB

[C]C语言基础巩固专题 链表之(链表反转)

 链表是c语言中很重要的数据结构,是考察一个程序员的基本功的手段,之前在一家公司面试时就问到了
实现一个链表的反转,当时就是没有很好冷静的思考,今天在这里写出来,共勉!
 基本算法:
       1. 判断是否为空,如果为空,返回NULL
       2. 否则说明至少有一个节点,那么
             p2指向最后一个节点,p1指向前一个节点,
            把p2指向的节点的next 置为NULL(因为这个点将是链表的末尾节点)
           
      3. 进入循环
              1)让前一个节点和后一个节点重新建立连接;
              2)P2 往前移,p2=p1;
              3)P1 往前移,p1=p1->next。
          后两步是为下一个循环做准备。
      4. 当p1为空时,p2指向的是最后一个节点,那么返回p2.
基本代码如下:
struct Node
{
int num;
Node * next;
};
Node * reverse(Node * head)
{
if(head==NULL)
{
return NULL;
}
Node * p1,p2;
p2=head;
p1=head->next;
p2->next=NULL;
while(p1)
{
p1->next=p2;
p2=p1;
p1=p1->next;
}
return p2;
}


相关文档:

scanf("%c")

今天做了ACM1010
代码都对就是怎么也不能AC。那个郁闷啊!一晚上都想那个了。
本来有俩组输入,可是输出的结果就一组。仔细看输入,竟然自动换行了,奇怪,这是咋回事。
猜测可能是读入了换行符。同样的问题这C++中就没有啊!
最后通过加getchar();AC通过。 ......

ANSI C读书笔记系列之字符集篇 第四章 字节序

"endian"这个词出自<<格列佛游记>>,小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开.我们一般将endian翻译成"字节序",将big endian和little endian称作"大端"和"小端".
在计算机科学领域中,字节序是指存放多字节数据的字节的顺序,典型的情况是整数在内存中的存放方式和 ......

C/C++中函数指针的含义

函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?
  如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。
  定义一个指向函数的指针用如下的形式,以上面的test()为例:
  int (*fp)(int a);//这里就定义了一个指 ......

关于B/S和C/S架构的介绍

一、什么是C/S和B/S
第一、什么是C/S结构。C/S
(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到
Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应
......

c 函数指针

c 函数指针 
以前什么函数指针,指针函数仅仅是概念上的理解,最近写个程序有这么个需求,其实也不是有这么个需求,而是这样写可以省去很多事....search了下,找到一篇好文
函数指针是什么?
    先来看函数调用是怎么回事。一个函数占用一段连续内存。当调用一个函数时,实际上是跳转到函数入口地址,执 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号