码迷,mamicode.com
首页 > 其他好文 > 详细

链表应用能力自测

时间:2020-11-01 10:15:29      阅读:17      评论:0      收藏:0      [点我收藏+]

标签:链表   The   成员   link   list()   实现   个数   创建   返回   

#include <stdio.h>
#include<string.h>
#include<stdlib.h>

//第一关代码

struct node
{//此处填写代码,定义链表结点类型,包含一个存放整型数据的 成员,和一个指向下一个结点的成员
    
       int data;
    struct node* next;
};
typedef struct node *PLIST;
typedef struct node NODE;
struct node *mycreateList()
{//此处填写代码,创建一个只有一个头结点的空链表,头节点的数据域赋值为0,并将表头结点的地址返回
    struct node *li = (struct node*)malloc(sizeof(struct node));
    li->data = 0;
    li->next = NULL;
    return li;

}


//第二关代码

void myinsertHead(struct node * head, int insData )
{
    /*在此处完成任务,实现在head为表头d 链表的头插数据元素insData的功能*/
    //begin
   struct node *p ;
   p = (struct node *)malloc(sizeof(struct node));
   p->data = insData;
   p->next = head->next ;
   head->next = p ;
    
    //end 
}

void myinsertTail(struct node *  head , int insData )
{
    /*在此处完成任务,在head为表头的单链表表尾插入数据元素insData*/
    //begin
    struct node *p ,*q ;
   p = (struct node *)malloc(sizeof(struct node));
   p->data = insData;
   p->next = NULL;
   q = head ;
   while(q->next!=NULL) 
     q = q->next;

   q->next = p ;
    
    //end     
}

void myprintList(struct node *L)
{
     /*在此处完成任务,输出head为表头链表中的数据,每输出一个数据换一行*/
    //begin
    
     struct node *p = L->next ;
    while(p)
     {
         printf("%d\n",p->data);
      //printf(“%d\n”,p->data);
      p = p->next ;
      }
    //end 
    
}

//第三关代码
 void reverseList_link( struct node *L)
 {
    //请在此处填入代码,实现链表逆置功能 
     //begin
     

    PLIST p,q;
    p=L->next;
    L->next=NULL;
    while(p){
        q=p;
        p=p->next;
        q->next=L->next;
        L->next=q;
    }

      
    //end 
 }

 

链表应用能力自测

标签:链表   The   成员   link   list()   实现   个数   创建   返回   

原文地址:https://www.cnblogs.com/jeseesmith/p/13906834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!