-
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; }
更多相关内容 -
编写程序,在一非递减的顺序表L中,删除所有值相等的多余元素。要求时间复杂度O(n)空间复杂度为O(n)的...
2018-12-08 21:00:25#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:562.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; }
-
C语言数据结构-顺序表删除重复V2.0.0
2021-03-18 15:05:01编写算法,在一非递减的顺序表L中,删除所有值相等的多余元素。要求时间复杂度为O(n),空间复杂度为O(1)。 函数原型如下:void del_dupnum(SeqList *L) 相关定义如下: struct _seqlist{ ElemType elem[MAXSIZE... -
试写一高效的算法,删除单链表中所有值相同的多余元素(使得操作后的线性表中所有元素均不相同),同时释放被...
2020-03-01 10:51:45试写一高效的算法,删除单链表中所有值相同的多余元素(使得操作后的线性表中所有元素均不相同),同时释放被删节点空间 分析 只需要遍历找到值相同的节点(必须定义至少两个变量)然后删除节点、释放内存空间即可。... -
顺序表应用1:多余元素删除之移位算法
2017-02-26 15:49:00Problem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能... -
编写算法,对非递减顺序存储的线性表操作,将表中相等的多余元素删除,变为严格递增
2009-12-08 16:39:00编写算法,对非递减顺序存储的线性表操作,将表中相等的多余元素删除,变为严格递增输入: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... -
顺序表应用2:多余元素删除之建表算法
2016-09-13 15:04:00一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个... -
数据结构线性表——顺序表(2)
2020-09-27 22:23:551)编写算法,在一非递减的顺序表L中,删除所有值相等的多余元素。要求时间复杂度为O(n),空间复杂度为O(1); (2)实现顺序表的就地逆置算法,即在原表的存储空间将线性表(a1,a2,a3,…,an)逆置为(an,an-1,an-2,…,a1... -
《数据结构(C++版)(第2版)》例题
2010-06-26 08:50:06《数据结构(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后面 ... -
实验一 线性表操作实验题目
2021-05-23 01:30:44实验一 线性表操作实验目的:(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... -
课后习题讲解 (数据结构)
2020-12-30 23:59:21填空⑴( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。【解答】数据元素⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。【解答】数据项,数据元素【分析】数据结构指的是... -
python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 ...
2019-01-02 14:42:10python数据结构和算法1 ... Python是一种强大但易于使用的面向对象语言。 列表、元组和字符串都是用Python有序集合构建的。 字典和集合是无序的数据集合。 类允许程序员实现抽象的数据类型。 程... -
单链表(练习)
2019-09-16 21:42:27自己思路:遍历单链表 ,每遇到一个结点判断,当前结点的值 是否小于 等于后继结点值,若为真则结束循环,该list为非递减序列;否则指针后移,继续判断,直到下一个结点为NULL,结束循环。 简单写下: L=(list*)... -
数据结构-一文吃透线性表中链表题目
2020-10-05 16:52:501.链表不具有的特点是 ( 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:351.描述以下三个概念的区别:头指针、头结点、首元素结点. 头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针;...从顺序表L中删除所有介于x和y之间的所有元素,要求空间复杂度为O(1... -
数据结构与算法 实例(萌新)
2021-03-26 13:59:04记录一下那些优化时间...(1)设计一个高效的算法,从顺序表L中删除所有值介于x和y之间(包括x和y)的所有元素(假设y>=x),要求时间复杂度为O(n),空间复杂度为O(1)。 void del_x2y(SeqList* L, ElemType x, ElemTy