顺序表查询第i个元素
答:这个我运行过了,没问题的~typedef struct node{ int data;struct node *next;}node,Linklist;int getelem(Linklist *L,int i);int main(){ Linklist *L,*p;int n;cout<<"input n:";scanf("%d",&n);L=(Linklist*)malloc(sizeof(node));if(L==NULL) cout<<"none of space!"...
答:【答案】:D 在顺序表中查找第i个元素的前驱很方便。双链表虽然能快速查找第i个元素的前驱,但不能实现随机存取。单链表和单循环链表既不能实现随机存取,查找第i个元素的前驱也不方便。
答:108 100+(5-1)*2=108 第一个元素首地址是100 第二个元素首地址是102 第三个元素首地址是104 第四个元素首地址是106 第五个元素首地址是108 第i个元素首地址是100+2*(i-1)
答:这种覆盖法的话,那第 j 个位置从物理上说是“还存在”的。不过,在删除元素时,应该是有一个变量的值,用来标记顺序表中有效元素的个数的。所以删除后,此标记值就应该“减1”,也就是说,那个“还存在”的存储单元,已经不是顺序表的成员了,所以,它是“虽在犹亡”,不在统计范围内了。
答:i
答:在一个长度为n的顺序表中第i个元素之前插入一个元素时,需向后移动n-i+1个。将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。采用顺序存储结构的线性表简称为“ 顺序表”。顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:LOC(ai)=...
答:在一个长度为n的顺序表中,删除第i(1≤i≤n)个元素时,需要移动的元素个数为n-i。分析:在一个长度为n的顺序表中,删除一个元素时,有n个位置可供选择。需要改变从第 i+1个元素起到第n个元素的存储位置,即进行“从第i+1到第n个元素往前移动一个位置”,共需移动n-i个元素。
答:需向前移动n-i个元素。这个i的范围应当是1≤i≤n+1,是向后移动。后面的元素ai+1~an都要向上移动一个位置。如顺序表的每个结点占用len个内存单元,用location (ki)表示顺序表中第i个结点ki所占内存空间的第1个单元的地址。则有如下的关系:location (ki+1) = location (ki) +len。
答:(p+1)=*p;//插入位置及之后的元素右移 q = e;//插入e ++L->length;//表长增1 return OK;} Status ListDelete_Sq(Sqlist *L, int i, ElemType e){ //在顺序表L中删除第i个元素。//i的合法值为1<=i<=ListLength_Sq(L)+1} ElemType *p, *q;if((i<1)||(i>L->length)...
答:在长度为n的顺序表中删除第i个元素为n-i。拓展知识:1、顺序表 顺序表是在计算机内存中以数组的形式保存的线性表。线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中。即通过数据元素物理存储的相邻关系来反映...
网友评论:
晁岸13489682474:
怎么在顺序表查找删除元素 -
12080狄选
: /* 线性表的运用(1)创建顺序表(2)获取第i个元素(3)查找元素x(4)在某一位置插入数据(5)删除某一位置数据在主函数中调用上述操作. */ #include <stdio.h> #include<stdlib.h> #define maxsize 50 typedef struct { int data[maxsize]; ...
晁岸13489682474:
顺序表的查找、插入与删除 -
12080狄选
: #include<stdio.h> #include<stdlib.h> #define N 10 //顺序表的最大容量 int length=0; //顺序表的当前元素个数#define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 #define LIST_INIT_...
晁岸13489682474:
如何顺序表的建立和定位插入以及定位删除,要求:1,建立顺序表.2,完成定位插入算法.3,定位删除算法 -
12080狄选
: /* 线性表的运用(1)创建顺序表(2)获取第i个元素(3)查找元素x (4)在某一位置插入数据(5)删除某一位置数据在主函数中调用上述操作. */ #include <stdio.h> #include<stdlib.h> #define maxsize 50 typedef struct {int data[maxsize]; ...
晁岸13489682474:
线性表(a1,a2……an),对于查找第i个元素的运算,顺序表的时间复杂度为(),单链表的时间复杂度为(). -
12080狄选
: B C 顺序表就相当于数组,查找的时候可以一下就找到,所以时间复杂度为:O(1) 单链表查找的时候要一直找下一个结点,若要查找的元素在最后,就相当于找了n次,所以时间复杂度为:O(n)
晁岸13489682474:
数据结构实验 -
12080狄选
: 我写的顺序线性表的完整的C++代码. 核心操作函数基本依照《数据结构(C语言版)》教材.仅供参考. #include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <iostream.h>#define TRUE 1#define FALSE 0#define OK 1#define ...
晁岸13489682474:
建立顺序表实现顺序表的基本操作,急求!!! -
12080狄选
: #include <iostream.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2 typedef int Status; typedef int ElemType;#define LIST_INIT_SIZE 10#define LISTINCREMENT 2 typedef struct ...
晁岸13489682474:
c语言顺序线性表逆序 -
12080狄选
: 使用栈,将元素依次放入栈stack[]中 再从栈顶依次取元素.即为逆序.