<small id='5oi42y53'></small><noframes id='d1i2l9jh'>

    <bdo id='1bjlb1cf'></bdo><ul id='4gge6v9h'></ul>

    <legend id='n7rzx50c'><style id='b5m32dd1'><dir id='zquwfqmm'><q id='sm84uhl0'></q></dir></style></legend>

    1. <i id='c3cu4ian'><tr id='dg807jw0'><dt id='ndejh2qm'><q id='pnowoqup'><span id='n0o2sx8k'><b id='vwg7ug40'><form id='lzchhi65'><ins id='h9gkubqe'></ins><ul id='4loiynzr'></ul><sub id='419pd0ob'></sub></form><legend id='p138zobl'></legend><bdo id='cci8eshf'><pre id='rja80xju'><center id='57dpsveb'></center></pre></bdo></b><th id='6tuyxyv6'></th></span></q></dt></tr></i><div id='dbsgtu5o'><tfoot id='626tmuru'></tfoot><dl id='0xvszwjh'><fieldset id='vutdncpj'></fieldset></dl></div>

        <tfoot id='ow2tmfov'></tfoot>

        欢迎来到入门教程网!

        Java编程

        当前位置:主页 > 软件编程 > Java编程 >

        删除线性表的代码java 线性表删除操作数据结构的算法实现

        来源:本站原创|时间:2023-04-05|栏目:Java编程|点击:

        java删除线性表最后一个元素

        ListInteger list = new ArrayListInteger();

        list.add(1);

        list.add(2);

        list.add(3);

        list.remove(list.size() - 1);

        java问题,在线性表中删除一个结点,寻求解决方案!

        目测之下

        应该是对的

        就是索引i一般是从0开始的

        看你的程序你的i应该是从1开始的吧?不过这都不影响执行结果。还有就是:ArrayList集合适用于遍历的操作,

        如果你的操作中

        增删比较多的话

        建议使用LinkedList,效率会更高些。

        线性表的创建,删除插入等操作

        线性表的操作类似于数组,都是连续存储,所以相关的操作也是类似。

        插入:在第t个位置插入元素,需要将从第t个位置到第n个位置向后移动。

        删除:删除第t个元素,从t+1位置元素往前移动

        插入和删除都需要将元素移动,顺序存储结构线性表所需要的平均时间复杂度为O(n)。

        下面是根据数据结构实现的代码;

        #include

        #include

        #define TRUE 1;

        #define FALSE 0;

        #define OK 1;

        #define ERROR 0;

        #define OVERFLOW -2;

        typedef int Status;

        typedef int ElemType;

        typedef struct {

        ElemType *elem;//线性表的基地址

        int Length;//长度

        int Listsize;//当前分配的存储容量

        }SqList;

        Status InitList(SqList L)//初始化线性表

        {

        L.elem = (ElemType*)malloc(100 * sizeof(ElemType));//分配内存

        if (!L.elem) exit(-2);

        L.Length = 0;

        L.Listsize = 100;

        return OK;

        }

        Status ListInsert(SqList L,int i,ElemType e)//在顺序表第i个位置之前插入新的元素e

        {

        if (i 1 || iL.Length + 1) return ERROR;//i值不合法

        if (L.Length = L.Listsize)//存储空间已满

        {

        ElemType *newbase = (ElemType*)realloc(L.elem, (L.Listsize + 10) * sizeof(ElemType));

        if (!newbase)

        {

        exit(-2);

        }

        L.elem = newbase;

        L.Listsize += 10;

        }

        ElemType *q = (L.elem[i - 1]); //将L表中第i个元素的地址信息传递给指针q

        for (ElemType *p = (L.elem[L.Length - 1]); p = q; --p)//p为末尾元素的地址

        {

        *(p + 1) = *p;

        }

        *q = e;

        ++L.Length;

        return OK;

        }

        Status OutputList(SqList L)//输出线性表中的元素

        {

        int i = 0;

        for (i ; i L.Length ; i++)

        {

        printf("%d ", L.elem[i]);

        }

        return OK;

        }

        Status ListLength(SqList L)//返回线性表的表长

        {

        return L.Length;

        }

        Status GetElem(SqList L, int i, ElemType e)//用e返回第i个元素的值

        {

        if (iL.Length) return ERROR;

        e = L.elem[i-1];

        return OK;

        }

        Status ClearList(SqList L)//清除线性表的数据

        {

        L.Length = 0;

        return OK;

        }

        Status DeleteList(SqList L,int i,ElemType e)//删除第i个元素,并用e返回其值

        {

        if (iL.Length) return ERROR;

        e = L.elem[i - 1];//通过下标找到第i个元素的值

        ElemType *p = (L.elem[i - 1]);

        ElemType *q = L.elem + L.Length - 1;

        for (p; p

        <i id='pae0c0ju'><tr id='q1jw8pnq'><dt id='bckf8g8k'><q id='mq0hws0k'><span id='3oksh7h9'><b id='ggixq9rh'><form id='sp0hn62f'><ins id='iezzztzs'></ins><ul id='1nawzxj3'></ul><sub id='6c021ybs'></sub></form><legend id='4zotyjax'></legend><bdo id='nps0e6i0'><pre id='xu92y6ra'><center id='vn60du8y'></center></pre></bdo></b><th id='472brt8n'></th></span></q></dt></tr></i><div id='133r0imx'><tfoot id='w02e3sjp'></tfoot><dl id='6oxh2kb7'><fieldset id='t4nhu3sq'></fieldset></dl></div>
        <tfoot id='ag01uknd'></tfoot>
        • <bdo id='06xv6wnb'></bdo><ul id='s32thnub'></ul>

              <small id='n5g9r843'></small><noframes id='pz50ldev'>

              <legend id='2xy7xupe'><style id='qjrmjkin'><dir id='bcz1la0n'><q id='a2y4lv5x'></q></dir></style></legend>

                    <tbody id='ycc1ixvx'></tbody>

                  上一篇:java项目完整代码 java项目 代码结构层次

                  栏    目:Java编程

                  下一篇:没有了

                  本文标题:删除线性表的代码java 线性表删除操作数据结构的算法实现

                  本文地址:https://www.xiuzhanwang.com/a1/Javabiancheng/17266.html

                  网页制作CMS教程网络编程软件编程脚本语言数据库服务器

                  如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

                  联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

                  Copyright © 2002-2020 脚本教程网 版权所有

                  <legend id='vzx5128h'><style id='mhhb6c3j'><dir id='h4rg503n'><q id='mv3hfert'></q></dir></style></legend>

                  <small id='1dqnr9ae'></small><noframes id='z17lcyct'>

                    • <bdo id='ivweqlip'></bdo><ul id='c7ox0dc3'></ul>
                    <i id='9lhb2wq0'><tr id='z4klqad7'><dt id='srojwwyz'><q id='j1hadg2g'><span id='2e73zsir'><b id='0k7t45hw'><form id='3zjdcexe'><ins id='ges4icf8'></ins><ul id='8lmg3fih'></ul><sub id='y300k8ys'></sub></form><legend id='oozxdclm'></legend><bdo id='sm52h1h9'><pre id='tzwqc62e'><center id='x93rtfwh'></center></pre></bdo></b><th id='8lem69pv'></th></span></q></dt></tr></i><div id='5l6ynmni'><tfoot id='jghvc2kh'></tfoot><dl id='911gru0a'><fieldset id='mfpwlgzl'></fieldset></dl></div>

                    <tfoot id='i1694i9a'></tfoot>