易截截图软件、单文件、免安装、纯绿色、仅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;
}


相关文档:

在Linux C编程中使用Unicode和UTF 8

在Linux C编程中使用Unicode和UTF-8
目前各种Linux发行版都支持UTF-8编码,当前系统的语言和字符编码设置保存在一些环境变量中,可以通过locale命令查看:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US ......

在c中处理utf 8




UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。
UTF-8的编码规则很简单,只有二条:
1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是 ......

c函数: strtok 和 strtok_r

函数名:   strtok    
  功     能:   查找由在第二个串中指定的分界符分隔开的单词    
  用     法:   char   *strtok(char   *str1,   char   *str2);    
  程序例:    
   
&nbs ......

C/C++中回调函数初探

对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。
  什么是回调函数?
  简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号