当前位置: 首页 > news >正文

网站备案vpn注销/sem培训

网站备案vpn注销,sem培训,网页安全防护怎么关闭,wordpress桌面应用程序二、线性表的链式存储 1.特点: (1)线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素,存储单元可以是连续的,也可以不连续。可以被存储在任意内存未被占用的位置上。 (2)所以…

二、线性表的链式存储

1.特点:
(1)线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素,存储单元可以是连续的,也可以不连续。可以被存储在任意内存未被占用的位置上。
(2)所以前面的顺序表只需要存储数据元素信息就可以了。在链式结构中还需要一个元素存储下一个元素的地址。
(3)为了表示每个数据元素,ai与其直接后继数据元素ai+1之间的逻辑关系,对ai来说,除了存储其本身的信息外,还需要存一个指示器直接后续的信息。把存储元素信息的域叫数据域,把存储直接后继位置的域叫指针域。这两部分信息组成数据元素ai的存储映像,叫结点(Node);

2.链表结构:

3.链表的常规操作

(1)创建链表

LinkList *CreateLinkList()
{
    LinkList *ll = malloc(sizeof(DATATYPE));//分配链表表头结点内存空间
    if(NULL == ll)判断是否申请成功
    {
        fprintf(stderr,"GreateLinkList malloc");
        return NULL;
    }
    ll -> head = NULL;初始化头指针
    ll -> clen = 0;初始化链表长度
    return ll;
}

(2)头部插入

①newnote == NULL

②newnote != NULL

int IsEmpLinkList(LinkList *ll)//判断链表是否为空
{
    return ll -> clen == 0;
}

int InsertHeadLinkList(LinkList *ll,DATATYPE *data)
{
    LinkNote *newnote = malloc(sizeof(LinkNote));//申请新节点内存空间
    if(NULL == newnote)//判断是否申请成功
    {
        fprintf(stderr,"IsEmpLinkList malloc");
        return 1;

    }
    memcpy(&newnote -> data,data,sizeof(DATATYPE));//复制数据到节点
    newnote -> next = NULL;//将结点next初始化为空指针
    if(IsEmpLinkList(ll))//判断链表是否为空
    {
        ll -> head = newnote;//将头指针指向新结点
    }
    else
    {
        newnote -> next = ll -> head;//将新结点的next指向头指针,即指向原链表的头元素地址
        ll -> head = newnote;  //将头指针指向新结点
    }
    ll -> clen++;//链表长度+1
    return 0;
    
}

(3)遍历

int GetSizeofLinkList(LinkList *ll)//获取链表长度
{
    return ll -> clen;
}

int ShowLinkList(LinkList *ll)
{
    int len = GetSizeofLinkList(ll);
    LinkNote *tmp = ll -> head;//定义新结点并指向头指针
    int i;
    for(i = 0;i < len;++i)//遍历循环链表
    {
        printf("%s,%c,%d,%d\n",tmp -> data.name,tmp -> data.sex,tmp -> data.age,tmp -> data.score);
        tmp = tmp -> next;//将tmp指向下一个结点
    }
    return 0;
}

(4)查找

DATATYPE *FindLinkList(LinkList *ll,char *name)
{
    LinkNote *tmp = ll -> head;
    while(tmp)
    {
        if(0 == strcmp(tmp -> data.name,name))//判断是否是需要找的结点
        {
            return &tmp -> data;
        }
        tmp = tmp -> next;
    }
    return NULL;
}

(5)删除

int DeleteLinkList(LinkList* ll, char* name)

{

        LinkNode* tmp = ll->head;//创建临时指针指向链表头

        if (IsEmptyLinkList(ll))//判断链表是否为空

        {

                return 1;

        }

        if (0 == strcmp(tmp->data.name, name))//判断所删结点是否为头节点

        {

                ll->head = ll->head->next;//将头指针指向头节点的next

                free(tmp);//释放头结点空间

                ll->clen--;//链表个数-1

                return 0;

        }

        while (tmp->next)//所删结点不是头结点

        {

        if (0 == strcmp(tmp->next->data.name, name))//遍历查找所删结点

        {//将所删结点的前后连接起来

        LinkNode* tmp2 = tmp->next;

        tmp->next = tmp->next->next;

        free(tmp2);

        ll->clen--;

        return 0;

        }

        tmp = tmp->next;

        }

        return 1;

}

http://www.whsansanxincailiao.cn/news/30335358.html

相关文章:

  • 做网站博彩代理怎么找客源/制作一个网页的步骤
  • 网站建设万网/百度广告管家
  • 网站设计网/网上哪里可以免费打广告
  • 织梦网站建设/湖南长沙seo教育
  • 企业网站建设计什么科目/网站如何才能被百度收录
  • 曰本孕妇做爰网站/百度在西安的公司叫什么
  • 嘉定公司网站设计/如何建立网站平台
  • 全部免费网站软件/微信营销平台系统
  • 做电影免费ppt模板下载网站/数字营销包括哪六种方式
  • 垂直类门户网站/北京昨晚出什么大事
  • 企业电商网站商城建设/搜索引擎优化seo信息
  • 平板做网站服务器/长沙优化科技有限公司
  • 做网站用java 还是php/北京千锋教育培训机构怎么样
  • 电信网站空间/安卓优化大师手机版下载
  • 注册了网站怎么建设/seo sem是什么意思
  • 网站备案加链接代码/网络推广怎么赚钱
  • 加强网站建设会/个人网站设计欣赏
  • 南京市建委网站下载中心建设工程招标/种子搜索神器
  • 网站建设销售问答/媒介星软文平台官网
  • 河南郑州网站推广优化外包/百度中心
  • 高级服装定制网站/网站建设运营
  • 做兼职哪个招聘网站比较靠谱/店铺推广软文范例
  • 网页设计毕业论文致谢/海外网站推广优化专员
  • 上海网站建设定制公/友情链接查询
  • 咸阳网站建设电话/长沙网站优化公司
  • 网站 意义/最打动人心的广告语
  • wordpress 隐私设置/重庆seo入门教程
  • 展示网站建设的ppt/百度直播推广
  • 深圳营销型网站制作公司/重庆网站seo好不好
  • 网站建设邮/网络推广运营优化