精华内容
下载资源
问答
  • 线性表插入删除——程序实例

    千次阅读 2015-08-07 08:58:25
    printf("线性表L为空n"); return ERROR; } if(i||i>L.length) { printf("不存在%d位置的元素n",i); return ERROR; } e=L.elem[i-1]; return OK; //------------------------------------- } ...

    顺序实现

    .h文件 此文件为方法    
    #ifndef SQLIST_H_INCLUDED     
    #define SQLIST_H_INCLUDED     
    #include "ds.h" //for Status,OK ...     
    #ifndef ElemType     
    #define ElemType int /* 数据元素类型默认为 int */     
    #define ELEMTYPE_TAG     
    #endif  
    
       
    /**********************************************************     
    *  顺序表的存储结构定义      
    ***********************************************************/
    #define LIST_INIT_SIZE 100 /* 存储空间初始分配容量 */     
    #define LISTINCREMENT 10 /* 存储空间分配的增量 */     
    typedef struct {     
        ElemType *elem;    //存储空间基址     
        int length;        //当前长度      
        int listsize;      //当前已分配的存储空间(元素个数)      
    } SqList;  
    
       
    /**********************************************************     
    *  顺序表的基本操作声明     
    ***********************************************************/
    //创建并初始化为空表      
    Status InitList(SqList &L);     
    //销毁整个表(从此之后不再可用)      
    Status DestroyList(SqList &L);     
    //将表L置空      
    Status ClearList(SqList &L);     
    //判断表L是否为空表      
    bool ListEmpty(SqList L);     
    //求表L的长度      
    int ListLength(SqList L);     
    //取表L中的第i个元素,并用e返回. 操作成功返回OK,失败时返回ERROR      
    Status GetElem(SqList L, int i, ElemType &e); 
        
    template <typename T> bool equal(T a, T b)     
    {     
        return a==b;     
    } 
        
    //在表L中定位元素e首次出现的位置. 操作成功返回位序,失败时返回0      
    //    compare(a,b) 为比较函数,匹配时返回true,否则返回false      
    //                 这里默认使用equal进行比较   
       
    int LocateElem(SqList L, ElemType e,      
          bool (*compare)(ElemType,ElemType)=equal<ElemType>);     
    //在表L中插入第i个元素e. 操作成功返回OK,失败时返回ERROR     
    Status ListInsert(SqList &L, int i, ElemType e);     
    //删除表L中第i个元素,结果用e返回. 操作成功返回OK,失败时返回ERROR      
    Status ListDelete(SqList &L, int i, ElemType &e);     
    //遍历表L,对每个元素调用visit(x).      
    Status ListTraverse(SqList L, Status (*visit)(ElemType));     
    /**********************************************************     
    *  顺序表的基本操作的实现     
    ***********************************************************/
    //创建并初始化为空表      
    Status InitList(SqList &L)     
    {     
        // TODO (#1#): 创建空表     
        L.elem=(ElemType*)malloc(LIST_INIT_SIZE * sizeof(ElemType));     
        if(!L.elem)exit(OVERFLOW);     
        L.length=0;     
        L.listsize=LIST_INIT_SIZE;     
        return OK;     
        //-------------------------------------     
    }     
    //销毁整个表(从此之后不再可用)      
    Status DestroyList(SqList &L)     
    {     
        free(L.elem);     
        return OK;     
        //-------------------------------------     
    }     
    //将表L置空      
    Status ClearList(SqList &L)     
    {     
        // TODO (#1#): 清空表     
        L.length=0;     
        return OK;     
        //-------------------------------------     
    }     
    //判断表L是否为空表      
    bool ListEmpty(SqList L)     
    {     
        // TODO (#1#): 顺序表判空      
        if(L.length==0)     
            return TRUE;     
        else
        return FALSE;     
        //-------------------------------------     
    }     
              
    //求表L的长度      
    int ListLength(SqList L)     
    {     
        // TODO (#1#): 求顺序表长度     
        return  L.length;     
      
        //-------------------------------------     
    }     
              
    //取表L中的第i个元素,并用e返回. 操作成功返回OK,失败时返回ERROR      
    Status GetElem(SqList L, int i, ElemType &e)     
    {     
        // TODO (#1#): 取元素     
        if(ListEmpty(L))     
        {     
            printf("线性表L为空n");     
            return ERROR;     
        }      
        if(i<1||i>L.length)     
        {     
            printf("不存在%d位置的元素n",i);     
            return ERROR;     
        }     
        e=L.elem[i-1];     
        return OK;      
        //-------------------------------------     
    }     
              
    //在表L中定位元素e首次出现的位置. 操作成功返回位序,失败时返回0      
    //    compare(a,b) 为比较函数,匹配时返回true,否则返回false      
    int LocateElem(SqList L, ElemType e, bool (*compare)(ElemType,ElemType))     
    {     
        // TODO (#1#): 在表中定位元素e,用compare(a,b)匹配元素     
        for (int j=0; j<L.length; j++)     
            if ( compare(L.elem[j],e) )  return j+1;     
        return 0;     
        //-------------------------------------     
    }     
              
              
    //在表L中插入第i个元素e. 操作成功返回OK,失败时返回ERROR     
    Status ListInsert(SqList &L, int i, ElemType e)     
    {     
        // TODO (#1#): 在链表中插入元素     
        if(i<1 || i>L.length+1)     
            return ERROR;     
         if (L.length >= L.listsize) //判读存储空间是否已满     
        {     
            ElemType * newbase = (ElemType *)realloc(L.elem, (L.listsize + LISTINCREMENT) * sizeof(ElemType));     
            if (!newbase)     
                exit(OVERFLOW);     
            L.elem = newbase;     
            LL.listsize = L.listsize + LISTINCREMENT;     
        }     
        ElemType *q = &(L.elem[i - 1]); //q指向第i个元素     
        ElemType *p;                     //p指向最后一个元素     
              
        for (p= &(L.elem[L.length - 1]); p >= q; p--) //从最后一个位置开始移动     
        {     
            *(p + 1) = *p;     
        }     
              
        *q = e;     
        L.length++;     
        return ERROR;     
        //-------------------------------------     
    }     
              
    //删除表L中第i个元素,结果用e返回. 操作成功返回OK,失败时返回ERROR      
    Status ListDelete(SqList &L, int i, ElemType &e)     
    {     
        // TODO (#1#): 在顺序表中删除元素     
    if (L.length == 0) //判断表是否为空     
        {     
            printf("表为空n");     
            return ERROR;     
        }     
              
        if (i < 1 || i > L.length) //判断删除位置是否合法     
        {     
            printf("删除位置不合法n");     
            return ERROR;     
        }     
              
        ElemType *p = &(L.elem[i - 1]); //p指向待删除的元素     
        e = *p;     
        ElemType *q = &(L.elem[L.length - 1]);     
        //ElemType *q = L->elem + L->length - 1; //q指向最后一个元素     
        for (pp = p + 1; p <= q; p++) //p从待删除的后一个元素开始,直到最后一个元素,每个元素一次向前移动一个位置     
        {     
            *(p - 1) = *p;     
        }     
              
        L.length--; //最后,线性表长度减一     
              
        return OK;     
        //-------------------------------------     
    }     
              
    //遍历表L,对每个元素调用visit(x).      
    Status ListTraverse(SqList L, Status (*visit)(ElemType))     
    {     
        // TODO (#1#): 遍历顺序表      
        for (int j=0; j<L.length; j++)     
            if ( ! visit(L.elem[j]) )  return ERROR;     
        return OK;     
        //-------------------------------------     
    }
    .cpp文件 此文件为主函数    
    #ifdef ELEMTYPE_TAG     
    #undef ElemType     
    #undef ELEMTYPE_TAG     
    #endif     
    #endif  // SQLIST_H_INCLUDED     
    #include <stdio.h>     
    #include <stdlib.h>     
    #include "ds.h"     
    #define ElemType int                 //数据元素的类型      
    Status print(ElemType e);            // 打印数据元素的方法     
    bool equal(ElemType a, ElemType b);  //比较两个元素相等的方法      
    #include "sqlist.h"     
    //打印顺序表内容      
    void PrintLinkList(SqList L);     
    int main()     
    {     
        SqList L;     
                  
        //1)初始化顺序表      
        InitList(L);     
                  
        //2)插入一些元素: 12,23,34,45     
        ListInsert(L,1,12);     
        ListInsert(L,1,23);     
        ListInsert(L,1,34);     
        ListInsert(L,1,45);     
                  
        //3)打印顺序表信息      
        printf("n开始时顺序表内容n");     
        PrintLinkList(L);     
        printf("ListLength(L) : %dn", ListLength(L));     
        printf("ListEmpty(L)  : %dn", ListEmpty(L));     
                  
        //4)顺序表插入      
        printf("n请输入一个元素:");      
        ElemType x;     
        read(x);     
        printf("插入开头:");     
        ListInsert(L,1,x);     
        PrintLinkList(L);     
        printf("插入末尾:");      
        ListInsert(L,ListLength(L)+1,x);     
        PrintLinkList(L);     
                  
        //5)顺序表删除     
        printf("n请选择删除第i(1..%d)个元素:", ListLength(L));     
        int i;     
        read(i);     
        ElemType e;      
        if ( ListDelete(L,i,e)==OK ) {     
            Status print(ElemType e);  //声明print(e)函数      
                      
            printf("删除"); print(e);     
            printf("成功n");     
        } else
            printf("删除失败.n");     
        printf("顺序表内容:");     
        PrintLinkList(L);     
                  
        //6)元素定位     
        printf("n请输入一个元素以便定位:");     
        read(x);     
        i = LocateElem(L,x);     
        if ( i!=0 ) {     
            printf("该元素是表中的第%d个元素.n",i);     
        } else
            printf("该元素在表中不存在.n");      
                  
        //7)清空顺序表     
        ClearList(L);     
        printf("n最后顺序表内容n");     
        PrintLinkList(L);     
        printf("ListLength(L) : %dn", ListLength(L));     
        printf("ListEmpty(L)  : %dn", ListEmpty(L));     
                   
        //8)销毁顺序表      
        DestroyList(L);     
                  
        system("PAUSE");     
        return 0;     
    }     
              
    // 打印数据元素的方法      
    Status print(ElemType e)     
    {     
        printf("%5d",e);     
        return OK;     
    }     
              
    //比较两个元素相等的方法     
    bool equal(ElemType a, ElemType b)     
    {     
        return a==b;     
    }     
              
    //打印顺序表内容      
    void PrintLinkList(SqList L)     
    {     
        ListTraverse(L,print); //遍历顺序表并print()每个元素      
        printf("n");     
    }


    展开全文
  • 线性表插入的平均时间复杂的: 插入:n/2; 最好情况0,最坏n;求和除以n+1 删除:n-1/2; 最好情况0,最坏n-1;求和除以n 一、简单的例子 int i, sum = 0; # 执行 1 次 int n = 100; # 执行 1 次 for ( i ...
    展开全文
  • 1、选择顺序或链式存储结构实现线性表的基本操作 2、采用顺序或链式存储方式存储线性表,在此基础上实现线性表的各个操作,以及线性表的合并操作
  • 线性表程序,C#,可以实现线性表中某一元素的删除插入,及线性表的连接,绝对原创,拿出来和大家分享一下,望大家多提宝贵意见
  • (数据结构实验)本程序实现线性表的构建,插入删除
  • 顺序存储结构线性表插入删除线性表中元素类型为整型,且L=(10,25,52,09,31,88,26,44,50,78),请把上述算法用C或C++实现,并验证程序的正确性。程序结构提示如下:
  •  2,需求分析: 此程序用c语言编写,完成线性表的构造,初始化,函数的调用及依次实现折半插入某一元素。 输入的形式和输入值的范围。 输出形式,即输出时的元素个数和顺序。 程序所能达到的功能:完成线...

    折半插入排序实验报告

    数据结构实验报告  班学号:姓设计日期:  西安科技大学计算机学院  1,实验题目:  编写一个函数,实现利用折半查找算法在一个有序表中插入一个数据元素x,并保持表的有序性。  2,需求分析:  此程序用c语言编写,完成线性表的构造,初始化,函数的调用及依次实现折半插入某一元素。  输入的形式和输入值的范围。  输出形式,即输出时的元素个数和顺序。  程序所能达到的功能:完成线性表的生产以及某一元素的插入操作。  测试数据:  ?先输入一列有序数字:,插入4。?再重输入一列有序数字:,插入5。  3,概要设计:  本程序包含个函数:  主函数main();  初始化线性表函数linear_list();  插入元素函数insert_linear_list();  各函数间的关系如下:  Iinear_list  Main  Insert_linear_list  4,详细设计:  实现概要设计中定义的基本数据类型:  线性表类型和数组类型  typedefstructLinear_list  {  inta[MaxSize];  intlast;  };  线性表的基本操作  定义一个线性表指针变量,定义一个一维数组用于存储有序数字。再用一个折半插入算法进行插入操作。  Linear_list*InitList()  {  Linear_list*L;  }L=(Linear_list*)malloc(sizeof(Linear_list));L->last=-1;returnL;  intInsert_Linear_list(Linear_list*L,intx)  {,,,,,  ,,,,,  ,,,,,  }  5,调试分析  6,使用说明  直接进行编译,连接,运行。  首先要求输入线性表的元素个数;  其次初始化线性表,输入一个有序数列;  再要求输入插入的值x,再调用插入函数进行插入排序。  最后输入排好的有序表。  7,测试结果:  建立一个线性表:  输入:或者  插入:  输入3或者5得到线性表或者  .  实验一线性表抽象数据类型的实现  【实验内容】  1.利用程序设计语言实现单链表的抽象数据类型。  2.明白单链表头结点在程序语言的表示及用法。  3.掌握单链表的插入、删除、输出等运算。  【实验方法与步骤】  个人程序如下:  #include  #include  typedefstructnode  {  intnDate;  structnode*pstnext;  }Node;  //链表输出董宝超  voidoutput(Node*head)  {  Node*p=head->pstnext;  while(NULL!=p)  {  printf("%d",p->nDate);  p=p->pstnext;  }  printf("\r\n");  }  //创建链表王宁宁  Node*creat()  {  Node*head=NULL,*p=NULL,*s=NULL;  intDate=0,cycle=1;  head=(Node*)malloc(sizeof(Node));  if(NULL==head)  {  printf("分配内存失败\r\n");  returnNULL;  }  head->pstnext=NULL;  p=head;  while(cycle)  {  printf("请输入数据且当输入数据为0时结束输入\r\n");  scanf("%d",&Date);  if(0!=Date)  {  s=(Node*)malloc(sizeof(Node));  if(NULL==s)  {  printf("分配内存失败\r\n");  returnNULL;  }  s->nDate=Date;  p->pstnext=s;  p=s;  }  else  {  cycle=0;  }  }  p->pstnext=NULL;  return(head);  }  //在指定元素之后插入新结点张容  voidinsert_2(Node*head,inti,intNewdate){  Node*pre=head,*New=NULL;  intj=0;  while(NULL!=pre->pstnext&&jpstnext;  j++;  }  if(j==i)  {  New=(Node*

    展开全文
  • C语言实现线性表插入删除操作

    万次阅读 多人点赞 2017-04-25 17:13:07
    设计程序建立一个顺序表,要求从键盘输入整数,并完成添加插入删除元素功能,并将该顺序表的元素从屏幕显示出来。 使用malloc和realloc函数动态分配内存地址。

    这其实是上机实验的题目,在网上找了找资料发现都是C++的,参考着《数据结构(C语言版)》(清华大学出版社)里面的伪代码实现的。

    实现后加上了备注,代码条理还算清晰就拿出来分享一下。

    题目要求:

    设计程序建立一个顺序表,要求从键盘输入整数,并完成添加插入和删除元素功能,并将该顺序表的元素从屏幕显示出来。

    使用malloc和realloc函数动态分配内存地址。

    完整代码:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define LIST_INIT_SIZE 5 //线性表初始长度
    #define LISTINCREMENT 5  //线性表每次扩充长度
    
    #define OK 1
    #define ERROR 0
    
    //线性表结构体
    typedef struct SqList
    {
        int *elem;
        int len;
        int size;
    };
    
    //初始化线性表
    int InitList_Sq(struct SqList *L)
    {
        //使用malloc函数,申请一段连续的存储空间
        L->elem = (int *)malloc(LIST_INIT_SIZE * sizeof(int));
        if (!L->elem)
            exit(0);
        L->len = 0;
        L->size = LIST_INIT_SIZE;
        return OK;
    }
    
    //向线性表中插入数据
    int ListInsert_Sq(struct SqList *L, int i, int e)
    {
        if (i < 1 || i > L->len + 1)
            return ERROR;
        if (L->len >= L->size)
        {
            //使用realloc函数,在原本的基地址上申请更大的存储空间
            int *newbase = (int *)realloc(L->elem, (LIST_INIT_SIZE + LISTINCREMENT) * sizeof(int));
            //如果申请空间失败则结束程序
            if (!newbase)
                exit(0);
            L->size += LISTINCREMENT;
        }
        int *q = &(L->elem[i - 1]);
        int *p;
        for (p = &L->elem[L->len - 1]; p >= q; --p)
            *(p + 1) = *p;
        *q = e;
        ++L->len;
        return OK;
    }
    
    //删除线性表中的数据
    int ListDelete_Sq(struct SqList *L, int i, int *e)
    {
        if (i < 1 || i > L->len)
            return ERROR;
        int *p = &(L->elem[i - 1]);
        *e = *p;
        int q = L->elem + L->len - 1;
        for (++p; *p <= q; ++p)
            *(p - 1) = *p;
        L->len--;
        return OK;
    }
    
    //输出线性表中的数据
    int ListShow_Sq(struct SqList *L, char *s)
    {
        printf("%s", s);
        int i;
        for (i = 0; i < L->len; i++)
        {
            printf("%d ", L->elem[i]);
        }
        putchar('\n');
    }
    
    void main()
    {
        int i;
        struct SqList L;
    
        //初始化线性表
        InitList_Sq(&L);
    
        //输入数据
        int n;
        printf("预先输入的原始数据个数是:");
        scanf("%d", &n);
        printf("请线性表中%d个原始数据:", n);
        for (i = 0; i < n; i++)
        {
            int t;
            scanf("%d", &t);
            ListInsert_Sq(&L, L.len + 1, t);
        }
        ListShow_Sq(&L, "原始数据:");
    
        //定义插入/删除操作时位置和数值参数
        int s, v;
    
        //插入操作
        printf("请输入数据插入的位置s 和数值v :");
        scanf("%d%d", &s, &v);
        printf("%s", ListInsert_Sq(&L, s, v) ? "插入成功.\n" : "插入失败.\n");
        ListShow_Sq(&L, "插入后:");
    
        //删除操作
        printf("请输入数据删除的位置s :");
        scanf("%d", &s);
        if (ListDelete_Sq(&L, s, &v))
            printf("删除成功.删除的数据是:%d\n", v);
        else
            printf("删除失败.位置有误.");
        ListShow_Sq(&L, "删除后:");
    
        system("pause");
    }

     

    截图:

     

    ————————————————————————————————————————————————

    2020年9月17日 更新 关于无法运行

    很多同学留言这份代码无法运行,也有同学在私信内联系我,对于无法正常执行的情况我表示非常抱歉,当时在写这篇小文的时候还在读大学,以为自己运行成功的代码就不会有错误(有错也是别人的错←_←),但其实C/C++的编译器还是五花八门的,这是当时读大学的我不了解的(当时大学机房的电脑上安装的是VC6.0,后来有同学给我评论无法运行后,我曾尝试在Visual Studio C++上运行此代码,也没有成功,很多的函数都提示不安全需要更换,而我只是想运行一份用于学习的代码...)。

    今天重新更新这篇文章指在帮助无法运行此代码的同学统一环境,希望能帮助大家完成这部分课程。

     

    方法1:在命令行中使用gcc编译

    安装GCC(MinGW)

    网上教程很多,举个栗子:https://blog.csdn.net/wxh0000mm/article/details/100666329

    在cmd中执行命令:

    gcc .\C语言实现线性表的插入和删除操作.c

    编译时会提示两个无伤大雅的警告,

    执行后会在目录中生成a.exe

    运行后按照流程操作

    完美运行

     

    方法2:安装简易GCC编译器

    推荐一个小巧的 啊哈C,但不推荐下载最新的,最新的版本似乎使用Python重写的界面,编译的核心还是MinGW,但安装包一百多兆。老版本只有在第三方平台才能下载到,只有15MB。(友情提示,小心捆绑)

    安装完成,拷贝代码直接运行

    输入测试数据,完美运行

     

    最后

    非常荣幸我的文章能够帮到这么多同学,也希望这次的更新可以解决编译不成功的遗憾。

    另外,关于数据结构中基础知识的应用在我的文章 C语言模拟最高优先数优先进程调度算法 有很好的体现,如果有兴趣可以运行一下,也许会有所帮助。链接→https://blog.csdn.net/lgj123xj/article/details/70836200

    展开全文
  • 数学学院 201 4 201 5 学年第 一 学期实验报告 班级计算121 学号201210402136 姓名苏宏伟 实验时间 201 实验 项目 线性表插入删除 所属 课程 算法与数据结构 实 验 目 的 熟悉掌握线性表的基本操作在顺序存储...
  • 6-2 带头结点的单链表插入操作 (30分) 本题要求实现带头结点的单链表插入操作,插入成功返回1,否则返回0。 函数接口定义: int insert_link ( LinkList ...裁判测试程序样例: #include <stdio.h> #include &...
  • 线性表插入删除

    2019-10-06 09:12:51
    线性表插入删除 3 ---------------------------------- */ 4 5 #include 6 #include < string > 7 #include 8 #include 9 #include 10 11 using namespace std; 12 ...
  • 线性表的实现程序(结构体、初始化、增加、删除、查找输入的元素值)
  • 顺序线性表插入,删除操作(完整代码)

    万次阅读 多人点赞 2018-08-18 18:20:56
    插入 :在顺序线性表l的第i个位置前插入元素e 。 第一步判断插入位置是否合法,如果不合法则异常退出。 第二步判断线性表存储空间是否不足,如果不足则增加存储容量。 第三步将插入位置及之后元素后移。第四步将...
  • - - PAGE # - { { - PAGE # - 数据结构顺序表的主要代码( LIZHULIN ) 1/* 有头结点的单链表的初始化建立(表头插入表尾插入) 求长 度插入删除输出 */ *单链表的初始化建立输出 */ * 单链表的初始化建立输出 */ #...
  • 2、完成线性表插入删除操作。 3、实验报告格式及图表清晰; 4、如有雷同,均算抄袭,按零分处理。 代码: #include<iostream> #include<stdio.h> #include<stdlib.h> #include <iostream&...
  • /*线性表插入*/ #include using namespace std; #define LIST_INIT_SIZE 100 //线性表的初始分配量 #define LISTINCREMENT 10 //线性表分配空间的增量  struct SqList //定义线性表结构体 { i
  • 数据结构线性表C程序

    2010-12-01 23:20:45
    数据结构线性表C程序 实现链表的创建、插入删除操作(zxb、xp)
  • c语言实现线性表创建,插入删除及合并的源代码。
  • 设计程序建立一个顺序表,要求从键盘输入整数,并完成添加插入删除元素功能,并将该顺序表的元素从屏幕显示出来。 使用malloc和realloc函数动态分配内存地址。 参考着《数据结构(C语言版)》(清华大学出版社)...
  • 线性表初始化、插入删除等操作 完整包含头文件主函数的完整程序·
  • ) { printf("选择功能\n1:创建新链表\n2:遍历输出链表数据域\n3:在第n个节点后插入节点\n4:在表头插入节点\n5:在表尾插入节点\n6:删除第n个节点后的节点\n7:删除头节点\n8:删除尾节点\n9:读出链表第n个元素...
  • 本资源实现线性表的动态演示,包括插入删除,排序等操作,用MFC实现界面操作
  • 线性表分为顺序线性表和链式线性表 顺序线性表: 链式线性表线性表的特点是: 存在唯一的一个被称做“第一个”元素的数据元素 存在唯一的一个被称做“最后一个”的数据元素 除第一个之外,集合中的每个...
  • 主要是关于一些对线性表的操作,包括插入删除、查询、成串、查找等操作,下面是程序代码: SeqLis.java public class SeqList implements LList { //顺序表类,实现线性表接口 private Object[] element;//对象...
  • 查找线性表是最基本的操作之一,比如根据序号查找元素的值,或者根据值查找该值是否在线性表中,如果在,那么序号是几等等。   插入 如果插入的位置不合理,那么就抛出异常。如果线性表长度大于等于数组长度,...
  • 1. 可扩展:可中间、尾部新增... 可删除数据:可删除指定学号的数据; 3. 可统计:可统计链表中的记录数量、平均成绩、最低、最高成绩(每次增减数据后,统计一次) 4. 可查询:可查询某个学号对应的相关姓名、成绩;
  • ① 初始化线性表void InitList(List *L,int ms) ② 向顺序表指定位置插入元素void InsertList(List *L,int item, int rc) ③ 删除指定元素值的顺序表记录void DeletList1(List *L, int item) ④ 删除指定位置的...
  • 线性表的顺序表示和插入删除、归并C语言代码实现。根据严蔚敏编的C语言版程序编写。
  • 在数据结构中,线性结构可以说是一种非常重要的结构,因此我们要熟练掌握对线性表的一般操作。 顺序表 顺序表是一种类似于数组的数据结构,其特点就是逻辑上相邻的数据,其物理次序也是相邻的。 初始化** 顺序表的...
  • 抽象数据类型:LNode与SqList分别为结点类和线性表类,结点类中定义了系数项和指数项,线性表类定义了容量和项数与未知数,主程序为先建立一个线性表然后定义其系数和项数,再输入其系数和项数,在初始化线性表,给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,952
精华内容 9,980
关键字:

线性表插入删除的程序