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;
    }
  • 相关阅读:
    js变量类型
    js词法分析
    ORACLE 查找字段在哪些表里存在
    主外键约束的关闭和启用
    pl/sql developer 编码格式设置(转)
    WIN7 Net Configuration Assistant打不开
    Kettle 连接失败 Oracle 数据库报 ora-12505 的解决方法(转)
    正则表达式30分钟入门教程(转)
    设置程序的多个入口,进行动态的显示
    应用多入口配置
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/6944039.html
Copyright © 2011-2022 走看看