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

连云港网站建设小姐关键词代发排名

连云港网站建设,小姐关键词代发排名,中国网站模板免费下载,楼盘网1.线性表的链式存储实现2.如何访问序号为i的元素&#xff1f; 3.如何求线性表的长度&#xff1f; 4.插入操作&#xff1a; 5.删除操作&#xff1a;&#xff08;删除链表的第i&#xff08;1<i<n&#xff09;个位置上的结点&#xff09; &#xff08;1&#xff09;先找到…

1.线性表的链式存储实现2.如何访问序号为i的元素?

3.如何求线性表的长度?

4.插入操作:

5.删除操作:(删除链表的第i(1<=i<=n)个位置上的结点)

(1)先找到链表的第i-1个结点,用p指向;

(2)再用指针s指向要被删除的结点(p的下一个节点)

(3)然后修改指针,删除s所指节点;

(4)释放s所指结点的空间;

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

typedef struct lnode* list; 
struct lnode
{
    elementtype data;   //输入数据;存于结构体中;
    list next;   //定义一个指针,指向下一个结点;
};
struct lnode l;  //定义一个结构体对象
list ptrl;  //定义一个结构体指针

int length(list ptrl)  //求链表长度,传入起始结构体对象的指针
{
    list p = ptrl;    //p来表示起始指针
    int j = 0;   //用j来计数
    while(p)   //循环直到p为空
    {
        p = p->next;  //往后传递
        j++;  //计数增加
    }
    return j;   // 返回计数值,时间性能O(n)。
}

//按序号查找:
list findkth(int k, list ptrl)   //传入序号与起始指针
{
    list p = ptrl;   //中间量
    int i = 1;   
    while(p != NULL && i<k)
    {
        p = p->next;
        i++;
    }
    if(i == k)
        return p;
    else 
        return NULL;
}

//按值查找:

list find(elementtype x, list ptrl)
{
    list p = ptrl;
    while(p != NULL && p->data != x)
        p = p->next;
    return p;
}


list insert(elementtype x, int i, list ptrl)
{
    list p,s;
    if(i == 1)   //考虑放在起始位置的情况
    {
        s = (list)malloc(sizeof(struct lnode));
        s->data = x;
        s->next = ptrl;
        return s;
    }
    p = findkth(i-1, ptrl);   //不在起始位置,先找到i-1的位置
    if(p == NULL)
    {
        printf("参数i错");
        return NULL;
        
    }
    else
    {
        s = (list)malloc(sizeof(struct lnode));
        s->data = x;   
        s->next = p->next;      //令s中的传递指针指向原第i个元素的传递传递指针
        p->next = s;    //修改p(第i-1个结点)的传递指针
        return ptrl;   
    }
    
}


list delete(int i, list ptrl)    //删除对象的序号传入
{
    list p, s;
    if(i == 1)   //删除起始位置的情况
    {
        s = ptrl;
        if(ptrl != NULL)
            ptrl = ptrl->next;   //修改起始位置指针
        else return NULL;
        free(s);
        return ptrl;
    }
    p = findkth(i-1, ptrl);   //非删除起始位置,先找到i-1的位置
    if(p == NULL)   //如果i-1位置不存在,那i的位置一定不存在
    {
        printf("第%d个结点不存在",i-1);
        return NULL;
    }
    else if(p->next == NULL)   //i-1的位置存在,但i位置不存在
    {
        printf("第%d个结点不存在", i);
        return NULL;
    }
    else
    {
        s = p->next;
        p->next = s->next;
        free(s);
        return ptrl;
    }
}

http://www.dtcms.com/wzjs/185423.html

相关文章:

  • wordpress 微信 插件开发性能优化工具
  • 如何在虚拟空间上做多个网站seo实战论坛
  • 流量比对网站深圳网络优化公司
  • 做网站致富武汉网站营销seo方案
  • 个人如何做网站链交换反应
  • 知乎网页版网络优化app哪个好
  • 电商网站怎么推广免费广告推广平台
  • 网站开发有什么职位seo推广软件代理
  • 网站后台做链接aso100官网
  • 惠州建设网站公司温州seo外包公司
  • 做智能网站平台企业网站推广优化公司
  • 网站怎么做播放窗口百度浏览器网页
  • 织梦网站后台logo删除凡科建站代理
  • 深圳企业网站建设搜索引擎优化是什么意思
  • 广州市建设注册中心网站武汉seo网站优化技巧
  • 校园网站怎么做无锡网站建设公司
  • 做网站实验体会谷歌seo排名优化
  • 2个女人做暧暧网站班级优化大师使用指南
  • 网站建设维护的方案推广公司产品
  • 腾讯云 wordpress建站百度站长平台快速收录
  • wordpress怎么弄网站网站怎么被收录
  • 香港网站建设展览怎么制作个人网页
  • 有专门做英文字幕的网站吗模板免费下载网站
  • 滨州内做网站系统的公司站长之家权重查询
  • 建设企业网站对公廊坊网络推广优化公司
  • 公司网站兰州建设需要多少钱提高网站流量的软文案例
  • 嘉善在线做网站吗合肥网站建设优化
  • 福州网站开发私人公司管理培训课程大全
  • 做网站的公司成本谷歌浏览器下载手机版官网中文
  • 网站风格介绍适合女生去的培训机构