zoukankan      html  css  js  c++  java
  • 25_判断链表是否为空+和+求链表长度

    #include<stdio.h>
    #include<malloc.h>
    
    typedef struct Node{
        int data;//数据源
        struct Node* pNext;//指针域 
    }NODE,*PNODE; // NODE等价于struct Node,PNODE等价于struct Node*;
    //函数的声明
    //创建一个非循环的链表 
     PNODE create_list(void){
         int len;//存放结果的数目 
         int val;
         //创建头结点,该头结点不存储数据 
         PNODE pHead = (PNODE)malloc(sizeof(NODE));
         PNODE pTail = pHead; //保证PTail永远指向链表的尾结点 
         pTail->pNext = NULL; 
         if(NULL == pHead){
             printf("程序内存分配失败");
         }
         printf("请输入你要创建节点的数目:");
         scanf("%d",&len);
        printf("你输入的值是%d
    :",len);
        for(int i = 0 ;i < len;i++){
             printf("请输入第%d节点的值:",i+1);
             scanf("%d",&val);
             PNODE pNew = (PNODE)malloc(sizeof(NODE));
            if(NULL == pNew){
             printf("程序内存分配失败");
         }
            pNew->data = val;
            pTail->pNext = pNew;
            pNew->pNext = NULL;
            pTail = pNew;
         }
         return  pHead;
          
     }
     
     /*
     判断链表是否为null 
     */
     
     bool isEmpty(PNODE pHead){
         if(pHead->pNext == NULL){//说明链表为空 
             return true;
         }else{
             return false;
         }
     }
     
     /*
     获得链表的长度 
     */
     
     int length_list(PNODE pHead){
         int count = 0;
         PNODE p = pHead->pNext; // 第一个节点不存储数据,所以要移动下一个节点 
         while(NULL != p){//说明该节点不为null 
             int val = p->data; //得到数据 
             printf("%d
    ",val);
             p=p->pNext;//p移动到下一个节点        
            count=count+1;   
         }
         return count;
     }
     
     /*
      输出该链表的所有值 
     */
     void printf_list(PNODE pHead){
         PNODE p = pHead->pNext; // 第一个节点不存储数据,所以要移动下一个节点 
         while(NULL != p){//说明该节点不为null 
             int val = p->data; //得到数据 
             printf("%d
    ",val);
             p=p->pNext;//p移动到下一个节点          
         }
         
     }
    int main(){
        printf("%s
    ","ksdkklsdkl");
        PNODE pHead = NULL;//定义一个结构体指针变量
        pHead = create_list(); 
        printf_list(pHead);
        return 0;
    }
  • 相关阅读:
    ansible 批量在远程主机上执行命令
    SQLAlchemy
    operator, itertools
    mongodb基础语法
    django model Meta选项
    __getattr__,settr
    django的contenttype表
    time和datetime和tzinfo
    全局钩子的改名
    dom中文字居中
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/6944039.html
Copyright © 2011-2022 走看看