zoukankan      html  css  js  c++  java
  • 反转单链表

    单链表逆置,超级热门的面试题,感觉最近见的比较多啊

    一种方法是非递归,一种方法是递归

    非递归方法:

    #include <iostream>
    #include<cstdio>
    #include<cstdlib>
    using namespace std;
    
    /*链表结构体*/
    struct Node{
        int data;
        struct Node* next;
    };
    static void reverse(struct Node** head_ref){                 //函数形参采用双指针,即指针的指针,至于为什么要用双指针,可以看主函数的调用情况
      /*建立三个结构体指针*/
    struct Node* prev =NULL; struct Node* current =*head_ref; struct Node* next; while(current!=NULL){ next =current->next; current->next=prev; prev=current; current=next; } *head_ref=prev; }
    /*头插法增加节点*/
    void push(struct Node** head_ref,int new_data){ struct Node* new_node= (struct Node*)malloc(sizeof(struct Node)); new_node->data=new_data; new_node->next=(*head_ref); (*head_ref)=new_node; }
    /*打印节点*/
    void printList(struct Node *head){ struct Node *temp=head; while(temp!=NULL){ cout<<temp->data<<" "; temp=temp->next; } }
    int main() { struct Node *head=NULL; push(&head,2); push(&head,4); push(&head,6); push(&head,8); printList(head); reverse(&head); cout<<endl; printList(head); return 0; }
  • 相关阅读:
    关于自定义UICollectionViewLayout的一点个人理解<一>
    自定义进度条
    iOS 无限轮播图的两种实现
    图片的拉伸
    关于plist文件
    加载gif图过渡效果
    关于textView的字数限制
    php-fpm服务启动脚本
    转载:PHP支付宝接口RSA验证
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/umrx/p/7476511.html
Copyright © 2011-2022 走看看