• 链表 c 自己


    链表:

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

    typedef
    struct stu_listme stu_list;
    /*定义结构体*/

    struct stu_listme
    {
    char* p_ch_data;
    stu_list
    * p_stu_next;
    };

    char* getform_list(stu_list* pHead, int nLim)
    /*取第k位数据*/
    {
    char* p_ch_lim = NULL;
    int n_count = 1;
    stu_list
    * p_stu_point = pHead;
    while (n_count <= nLim)
    {
    if (p_stu_point == NULL)
    return NULL;
    p_stu_point
    = p_stu_point->p_stu_next;
    n_count
    ++;
    }
    if (p_stu_point != NULL)
    {
    p_ch_lim
    = p_stu_point->p_ch_data;
    }
    return p_ch_lim;
    }

    int calu_list(stu_list* pHead)
    /*计算链表长度*/
    {
    int n_back = 0;
    stu_list
    * p_stu_point = pHead;
    while (p_stu_point->p_stu_next != NULL)
    {
    p_stu_point
    = p_stu_point->p_stu_next;
    n_back
    ++;
    }
    return n_back;
    }

    void insert_node(char* pNow, stu_list** pHead)
    /*插入链表*/
    {
    stu_list
    * p_stu_me = (stu_list*)malloc(sizeof(stu_list));
    p_stu_me
    ->p_ch_data =(char*)malloc(strlen(pNow)+1);
    memcpy(p_stu_me
    ->p_ch_data, pNow, strlen(pNow));
    p_stu_me
    ->p_ch_data[strlen(pNow)] = '\0';
    if (*pHead == NULL)
    {
    p_stu_me
    ->p_stu_next = NULL;
    }
    else
    {
    p_stu_me
    ->p_stu_next = *pHead;
    }
    *pHead = p_stu_me;
    }

    void list_free(stu_list* pHead)
    /*释放链表*/
    {
    stu_list
    * p_stu_me = pHead;
    while (p_stu_me != NULL)
    {
    stu_list
    * p_stu_point = p_stu_me->p_stu_next;
    free(p_stu_me
    ->p_ch_data);
    free(p_stu_me);
    p_stu_me
    = p_stu_point;
    }
    }

    int main()
    {
    stu_list
    * p_stu_head = NULL;
    insert_node(
    "fuck", &p_stu_head);
    insert_node(
    "ffsf", &p_stu_head);
    printf(
    "%s\n",getform_list(p_stu_head, 0));
    printf(
    "%d\n",calu_list(p_stu_head));
    list_free(p_stu_head);
    return 0;
    }


  • 相关阅读:
    javascript数据类型转换
    javascript运算符
    数据类型
    第一个JavaScript代码
    Javascript简介
    z-index
    Java代码优化
    Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
    java中继承条件下构造方法的执行过程
    java中的继承、重载和覆盖是什么意思
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2077767.html
Copyright © 2020-2023  润新知