精华内容
下载资源
问答
  • 非递减顺序存储线性表删除所有值相等多余元素
    2021-10-21 20:17:59
    #include <stdio.h>
    #define maxlen 30
    
    typedef struct
    {
        int elem[maxlen];
        int lenth;        //存放顺序表中元素个数
    } sqlisttp;
    
    void demo(sqlisttp* L)
    {
        int i = 1, j = 0;
        while (i<L->lenth)
        {
            if (L->elem[i] != L->elem[j])
            {
                j++;
                L->elem[j]=L->elem[i];
            }
            i++;
        }
            L->lenth=j ;
    }
    
    int main(void)
    {
        int i;
        sqlisttp L;
    
        for (i = 0; i <= 15; i++)
        {
            L.elem[i] = i / 2;
        }
        L.lenth = i;
    
        demo(&L);
        for (i = 0; i <= L.lenth; i++)
        {
            printf("%d, ", L.elem[i]);
        }
        printf("\n");
        return 0;
    }
    

    更多相关内容
  • #include #include #include using namespace std; int num; typedef struct node ... List *L,*p,*q,*t;... L=(List *)malloc(sizeof(List));... p=L;... /*t=L->next;... t=L->next;...}偶数元素后面。

    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    using namespace std;
    int num;
    typedef struct node
    {
        int Length;
        int data;
        struct node *next;
    }List;
    int main()
    {
        List *L,*p,*q,*t;
        L=(List *)malloc(sizeof(List));
        int  tar;
        while(cin>>num)
        {
            p=L;
            for(int i=0;i<num;i++)
            {
                q=(List *)malloc(sizeof(List));
                cin>>q->data;
                p->next=q;
                p=q;
            }
            p->next=NULL;
            /*t=L->next;
            while(t!=NULL)
            {
                cout<<t->data<<" ";
                t=t->next;
            }
            cout<<endl;*/
            cin>>tar;
            t=L->next;
            int flag=0;
            while(t!=NULL)
            {
                if(t->data==tar)
                {
                    t=t->next;
                    continue;
                }
                else
                {
                    cout<<t->data<<" ";
                    flag=1;
                }
                t=t->next;
            }
            if(flag==0) cout<<"-1";
        }
        return 0;
    }偶数元素排在后面。

    展开全文
  • 编写个链表

    2015-12-05 23:13:56
    2.1 顺序表。(任选其) (1)编写个程序,其功能是:从顺序表的第i个位置开始,... (2)编写个程序,其功能是:在一非递减顺序表中删除所有值相等多余元素,要求时间复杂度为O(n),空间复杂度为O(1)。
  • 顺序表删除多余元素【C语言】

    千次阅读 2019-11-21 15:36:21
    建立非递减顺序表L,已知顺序表L中元素为int,请编写个算法,删除所有值相等多余元素时间复杂度为O(n) 空间复杂度为O(1) 代码: /*3*/ /*时间复杂度过大*/ #...

    顺序表删除多余元素【C语言】

    题目:

    建立一个非递减的顺序表L,已知顺序表L中的元素为int,请编写一个算法,删除所有值相等的多余元素

    时间复杂度为O(n)空间复杂度为O(1)
    代码:
    /*1-3*/
    /*时间复杂度过大*/
    #include <stdio.h>
    #include <stdlib.h>
    #define maxsize 100
    #define elemtype int
    typedef struct
    {
        elemtype elem[maxsize];
        int last;
    }Seqlist;
    void InsList(Seqlist *L,int i,elemtype e)
    {
        int k;
        if(i<1 || i>L->last+2)
        {
            printf("对不起,该位置不存在\n");
            return;
        }
        if(L->last==maxsize-1)
        {
            printf("对不起,位置已满");
            return;
        }
        for(k=L->last;k>=i-1;k--)
        {
            L->elem[k+1]=L->elem[k];
        }
        L->elem[i-1]=e;
        L->last++;
    }
    void DelList(Seqlist *L)
    {
        int i=0,k=0;
        for(i=0;i<=L->last;i++)
        {
            if(L->elem[i]!=L->elem[k])
            {
                k++;
                L->elem[k]=L->elem[i];
            }
        }
        L->last=k;
    }
    void view(Seqlist *L)
    {
        printf("此顺序表为:\n");
        int i=0;
        for(i=0;i<=L->last;i++)
        {
            printf("%d ",L->elem[i]);
        }
        printf("\n");
    }
    int main()
    {
        Seqlist L;L.last=-1;
        printf("请您输入--元素的总个数:\n");
        int j,m;scanf("%d",&m);
        printf("请您依次非递减的输入元素:\n");
        for(j=1;j<=m;j++)
        {
            elemtype x;
            scanf("%d",&x);
            InsList(&L,j,x);
        }
        DelList(&L);
        view(&L);
        printf("\nHello world!\n");
    }
    

    运行情况:
    请您输入--元素的总个数:
    5
    请您依次非递减的输入元素:
    1 2 2 3 3
    此顺序表为:
    1 2 3
    
    Hello world!
    
    Process returned 0 (0x0)   execution time : 8.179 s
    Press any key to continue.
    
    Copyright © 2019 wyq. All rights reserved.
    展开全文
  • 顺序表 删除重复

    2020-03-06 17:34:24
    编写算法,在一非递减顺序表L中删除所有值相等多余元素。要求时间复杂度为O(n),空间复杂度为O(1)。 struct _seqlist{ ElemType elem[MAXSIZE]; int last; }; typedef struct _seqlist SeqList; ...

    编写算法,在一非递减的顺序表L中,删除所有值相等的多余元素。要求时间复杂度为O(n),空间复杂度为O(1)。

    struct _seqlist{
        ElemType elem[MAXSIZE];
        int last;
    };
    typedef struct _seqlist SeqList;
    
    void del_dupnum(SeqList* L)
    {
        int i = 0, j = 0;
        ElemType demo = L->elem[0];
        L->elem[j++] = L->elem[0];
        for (i = 1; i < L->last; i++) {
            if (L->elem[i] != demo) {
                L->elem[j++] = L->elem[i];
                demo = L->elem[i];
            }
        }
        L->last = j;
    }
    展开全文
  • 编写算法,在一非递减顺序表L中删除所有值相等多余元素。要求时间复杂度为O(n),空间复杂度为O(1)。 函数原型如下:void del_dupnum(SeqList *L) 相关定义如下: struct _seqlist{ ElemType elem[MAXSIZE...
  • 试写高效的算法,删除单链表中所有值相同的多余元素(使得操作后的线性表中所有元素均不相同),同时释放被删节点空间 分析 只需要遍历找到相同的节点(必须定义至少两个变量)然后删除节点、释放内存空间即可。...
  • Problem Description个长度不超过10000数据的顺序表,可能存在着一些相同的“多余”数据元素(类型整型),编写个程序将“多余”的数据元素从顺序表中删除,使该表由个“纯表”(相同的元素在可能...
  • 编写算法,对非递减顺序存储的线性表操作,将表中相等多余元素删除,变为严格递增输入:3 3 4 5 6 6 7 8 9 9输出:3 4 5 6 7 8 9 void SortEx(sqlist *L){ int j = 0; int i = 1; while (i length...
  • 个长度不超过10000数据的顺序表,可能存在着一些相同的“多余”数据元素(类型整型),编写个程序将“多余”的数据元素从顺序表中删除,使该表由个“纯表”(相同的元素在可能有多个...
  • 1)编写算法,在一非递减顺序表L中删除所有值相等多余元素。要求时间复杂度为O(n),空间复杂度为O(1); (2)实现顺序表的就地逆置算法,即在原表的存储空间将线性表(a1,a2,a3,…,an)逆置(an,an-1,an-2,…,a1...
  • 《数据结构(C++版)(第2版)》例题《数据结构(C++版)(第2版)》例题《数据结构(C++版)(第2版)》例题
  • 顺序表作业

    2021-10-11 11:49:44
    假设顺序表L中所有元素为整数,设计个算法调整该顺序表,使其中所有小于零的元素移动到所有大于等于零的元素的前面。 输入 无 输出 2 -1 0 2 -2 3 -3 -3 -1 -2 2 0 3 2 样例输入 无 样例输出 2 -1 0 2 -2 3 -3...
  • 非递减有序顺序表的合并

    千次阅读 2019-03-17 00:01:39
    个新的集合C=A∪B,使集合C数据元素仍按值非递减有序排列 //搬点以前写的记录一下 [分析]:无序LA,LB所以无需遍历LB,设LC 用两个头指针pa,pb遍历两将小插入LC并++,最后多余数据直接补LC后面 ...
  • 实验 线性表操作实验目的:(1)...1、顺序表的综合操作[问题描述]设计算法,实现线性结构上的顺序表的建立以及元素的查找、插入、删除等操作。[基本要求及提示](1)从键盘输入10个整数,建立顺序表。(2)从键盘输入1...
  • 第二周 顺序表

    2020-09-21 20:27:28
    讲完这些就让我们上机做顺序表的实验,写了2个小时代码,都通过不了。有点失望。) 自己整理吧。。。 线性表的定义 (注意:逻辑下标是从1开始的。) 如(1,2,3,1,5) 线性表的基本运算: (ps:GetElem的e...
  • 【icoding 顺序表】习题

    千次阅读 2020-07-04 16:53:38
    设计个高效的算法,从顺序表L中删除所有值介于x和y之间(包括x和y)的所有元素(假设y>=x),要求时间复杂度为O(n),空间复杂度为O(1)。 函数原型如下: void del_x2y(SeqList *L, ElemType x, ElemType y) 相关...
  • 线性表

    2021-01-29 00:57:10
    在线性表中获取某个元素,其实就是将线性表的第 i 个位置的元素返回就行,前提是 i 的是在数组的下标范围内的,返回的具体是数组的第 i-1 下标的返回(比如要找的元素在第 2 个,返回的时候应该返回数组...
  • 数据结构实验

    2021-10-23 20:58:53
    其功能是在一非递减的顺序存储线性表删除所有值相等多余元素(参考源代码zuoye5_01.c)。 #include <stdio.h> #define maxlen 30 typedef struct { int elem[maxlen]; int lenth; //存放顺序...
  • 【PTA】【数据结构与算法】排序

    万次阅读 2019-05-21 12:05:20
    解析:指针不停止,导致所有元素都被放到个划分去,一共N元素,所以一共有N次划分,每次时间复杂度O(N)。 14.执行趟快速排序能够得到的序列是( )。 (2分) 选项 A [41,12,34...
  • 填空⑴( )是数据的基本单位,计算机程序通常作为个整体进行考虑和处理。【解答】数据元素⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。【解答】数据项,数据元素【分析】数据结构指的是...
  • python数据结构和算法1 ... Python是种强大但易于使用的面向对象语言。 列表、元组和字符串都是用Python有序集合构建的。 字典和集合是无序的数据集合。 类允许程序员实现抽象的数据类型。 程...
  • 单链表(练习)

    千次阅读 2019-09-16 21:42:27
    自己思路:遍历单链表 ,每遇到个结点判断,当前结点的 是否小于 等于后继结点,若真则结束循环,该list为非递减序列;否则指针后移,继续判断,直到下个结点NULL,结束循环。 简单写下: L=(list*)...
  • 1.链表不具有的特点是 ( A) A. 可随机访问任一元素 B. 插入删除不需要移动元素 C....D....[解析] 链表采用的是链式存储结构,它克服了顺序存储...2.设单链表指针p指向A,若要删除A的后继结点,则需修改指针的操作(p
  • 超硬核!小白读了这篇文章,就能算法圈混了

    万次阅读 多人点赞 2021-03-29 10:21:58
    作为只超级硬核的兔子,从来不给你说废话,只有最有用的干货!这些神级算法送给你 目录 第节 1.1bogo排序 1.2位运算 1.3打擂台 1.4morris遍历 第二节 2.1睡眠排序 2.2会死的兔子 2.3矩阵快速幂...
  • 数据结构习题整理(1.0)

    千次阅读 多人点赞 2019-12-08 11:24:35
    1.描述以下三个概念的区别:头指针、头结点、首元素结点. 头指针是指向链表个结点(或头结点或为首元结点)的指针;...从顺序表L中删除所有介于x和y之间的所有元素,要求空间复杂度为O(1...
  • 记录一下那些优化时间...(1)设计个高效的算法,从顺序表L中删除所有值介于x和y之间(包括x和y)的所有元素(假设y>=x),要求时间复杂度为O(n),空间复杂度为O(1)。 void del_x2y(SeqList* L, ElemType x, ElemTy

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 586
精华内容 234
关键字:

在一非递减的顺序表l中,删除所有值相等的多余元素,时间复杂度为o(n)

友情链接: test3.zip