A. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时
1.C
2.C
3.D
4.C
5.A
6.D
7.B
8.D
9.B
10.D
不保证全对,不过题目还是要你自己做比较好吧!
B. 设顺序表L中的数据元素递增有序,试写一算法,在该表的适当位置插入新元素x并保持
给个思路吧,折半查找,存储结构用线性表 用数组实现或链表,折半查找最终的结束条件要改下,因为有可能找到,有可能找不到,如果能找到就是说新元素有原来的序列的某个值是一样的,就直接插入到那个元素的后面,如果找不到,说明序列不含有这个值,根据折半查找的最后一步来判断是插入在前面还是后面
C. 顺序表中元素插入算法详细解释
//将顺序表第i-1个元素至最后一个元素全部向后移动一位
for(j=L->last;j>=i-1;j--)
L->data[j+1]=L->data[j]
//将新元素x插入到原第i-1个元素的位置
L->data[i-1]=x;
//更新顺序表长度
L->last++;
D. 算法设计:向线性表中第i个位置插入一个新元素x。如果i不合理则显示出错信息并退出运行
int insertList(List * L, int n, List *a){
List *list = L;
int i;
for(i = 0; i < n; i++){
if(list->next == NULL){
printf("插入失败\n");
return 0;
}
list->next = list;
}
list->next = a;
return 1;
}
E. 试设计一个算法,完成向顺序表第i个位置处插入一个给定值为item的新元素。给出该算法的时间复杂度T(n)。
从最后一个位置依次向后移 第i个位置移到第i+1个位置后 把新元素放到第i个位置
F. 一个有序的数据元素序列,已线性链表存储,设计一个算法,在该链表上插入一个新元素,保持链表的有序性
int insert(List **lptr, ElemType e)
{
//lptr为有序的链表,e为要插入的元素,如果插入成功则返回1,否则返回0
List *newNode, *cur, *prior;
newNode = (List*)malloc(sizeof(List));
if (newNode == NULL) return 0; //分配空间失败
newNode->data = e;
cur = *lptr;
prior = *lptr;
while (cur != NULL && cur->data < e){//查找插入的位置
prior = cur;
cur = cur->next;
}
if (cur == *lptr){
//插入到链表的头部
newNode->next = *lptr;
*lptr = newNode; //lptr指向链表的第一个元素
}else{
//插入到prior之后
prior-> = newNode;
newNode->next = cur;
}
return 1;
}
用C语言写的,望楼主采纳
G. 写出一个顺序存储的有序(升序)线性表中插入一个新元素,并仍保持线性表有序的算法,求解答
#include <stdio.h>
#include <string.h>
#include"stdlib.h"
typedef int elementype;
typedef struct {
elementype *data;
int length;
} SqList;
int InitList(SqList *L)
{
int t,i=0;
L->data=(elementype *)malloc(sizeof(elementype));
L->length=0;
while(1)
{
printf("请输入数据(输入0结束):");
scanf("%d",&t);
if(t==0) break;
L->data[i]=t;
L->length++;
i++;
}
return 0;
}
int mintomax(SqList l)
{
int i=0,j=0,k=0,n,t;
printf("请输入你要插入的数据:");
scanf("%d",&n);
l.data[l.length]=n;
l.length++;
for(i=0;i<l.length;i++)
{
for(j=i+1;j<l.length;j++)
{
if(l.data[i]>l.data[j])
{
t=l.data[i];
l.data[i]=l.data[j];
l.data[j]=t;
}
}
}
return 0;
}
void DispList(SqList L) {
int i;
for (i = 0; i <=L.length; i++){
printf("%d\t", L.data[i]);
}
printf("\n");
}
int main()
{
SqList L;
InitList(&L);
mintomax(L);
printf("线性表:");
DispList(L);
return 0;
}
H. 1. 编写一个算法,实现在顺序线性表L中第i个位置之前插入新的元素e
int array[MAX];//顺序表
int p;//当前位置
void insert(int e,int i)
{
if(i>p) array[i]=e;
else
{
for(int x=p;x>i;x--)
array[x+1]=array[x];
array[i]=e;
}
}
I. 新元素原子质量
质量数=相对原子质量.
112号元素的相对原子质量就是277.
相对原子质量的算法:1个112号元素原子的质量除以一个C-12原子质量的十二分之一.
设一个C-12原子的质量为a.
一个112号元素原子的质量为x
x/(a/12)=277 x;a=277:12
J. 若长度为N的顺序存储结构在其第一位置插入新元素的算法时间复杂度为多少 没有钱了,望解惑!
A:错,最外层有四个电子说明是第4主族的,主族元素的氢化物稳定性从上到下递减,所以XH4在第4主族中应该是最不稳定的。再有,金属氢化物都是固态的
B:对,最外层有四个电子说明改元素最高正价为+4价,所以最高正价氧化物是XO2
C:错,第4主族元素依次是碳,硅,锗,锡,铅,而X还要在铅下面,所以应该是金属
D:错,碱性氧化物
另外,虚机团上产品团购,超级便宜