已知一个顺序表A,其中的元素按值递减有序排列,编写一个函数插入一个元素X后保持该顺序表仍按递减排列
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 16:03:26
已知一个顺序表A,其中的元素按值递减有序排列,编写一个函数插入一个元素X后保持该顺序表仍按递减排列
写出该提的算法
写出该提的算法
#include <stdio.h>
#include <stdlib.h>
#define Max 100 // 定义数组的最大长度
typedef int Datatype; // 定义数组元素的数据类型
typedef struct {
\x09Datatype data[Max]; // data数组用于开辟一段连续的存储空间
\x09int length; // 当前长度
}SqList;
bool InsertList(SqList *L,Datatype x) {
\x09int i,j;
\x09if (L->length >= Max) {
\x09\x09printf("overflow!");
\x09\x09return false;
\x09}
\x09for (i = 0;i < L->length;i++) {
\x09\x09if(x >= L->data[i]) {
\x09\x09\x09for(j = L->length;j >= i;j--) L->data[j + 1] = L->data[j]; // 结点后移
\x09\x09\x09L->data[i] = x;
\x09\x09\x09L->length++;
\x09\x09\x09return true;
\x09\x09}
\x09}
\x09L->data[L->length++] = x;
\x09return true;
}
void main() {
\x09SqList L;
\x09Datatype x;
\x09int i,n = 10;
\x09for(i = 0;i < n;i++) L.data[i] = 2*(n - i);
\x09L.length = n;
\x09printf("原线性表为:\n");
\x09for(i = 0;i < L.length;i++) printf("%d ",L.data[i]);
\x09printf("\n线性表长度为:%d\n\n",L.length);
\x09printf("输入插入数据x:");
\x09scanf("%d",&x);
\x09InsertList(&L,x);
\x09printf("\n插入后的线性表值为:");
\x09for(i = 0;i < L.length;i++) printf("%d ",L.data[i]);
\x09printf("\n插入后的线性表长度为:%d\n\n",L.length);
}
#include <stdlib.h>
#define Max 100 // 定义数组的最大长度
typedef int Datatype; // 定义数组元素的数据类型
typedef struct {
\x09Datatype data[Max]; // data数组用于开辟一段连续的存储空间
\x09int length; // 当前长度
}SqList;
bool InsertList(SqList *L,Datatype x) {
\x09int i,j;
\x09if (L->length >= Max) {
\x09\x09printf("overflow!");
\x09\x09return false;
\x09}
\x09for (i = 0;i < L->length;i++) {
\x09\x09if(x >= L->data[i]) {
\x09\x09\x09for(j = L->length;j >= i;j--) L->data[j + 1] = L->data[j]; // 结点后移
\x09\x09\x09L->data[i] = x;
\x09\x09\x09L->length++;
\x09\x09\x09return true;
\x09\x09}
\x09}
\x09L->data[L->length++] = x;
\x09return true;
}
void main() {
\x09SqList L;
\x09Datatype x;
\x09int i,n = 10;
\x09for(i = 0;i < n;i++) L.data[i] = 2*(n - i);
\x09L.length = n;
\x09printf("原线性表为:\n");
\x09for(i = 0;i < L.length;i++) printf("%d ",L.data[i]);
\x09printf("\n线性表长度为:%d\n\n",L.length);
\x09printf("输入插入数据x:");
\x09scanf("%d",&x);
\x09InsertList(&L,x);
\x09printf("\n插入后的线性表值为:");
\x09for(i = 0;i < L.length;i++) printf("%d ",L.data[i]);
\x09printf("\n插入后的线性表长度为:%d\n\n",L.length);
}
已知一个数组中的元素按元素值非递减有序排列,编写一个函数删除数组中多余的值相同的元素
数据结构问题:已知向量A中的n个元素按值非递减有序排列,试编一个算法,在此向量中插入一个值为x的新元素
用c++实现,假设有两个元素递增的有序排列线性表A和B,均以顺序表作存储结构.试编写算法将A表和B表归并成一个按元素值递
已知两个顺序表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集
设顺序表VA中的数据元素递增有序,试编写算法实现将X插入到顺序表的适当位置上,以保持该表的有序性.
设顺序表va中的数据元素递增有序.试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性.
数据结构 已知一个顺序表递增有序,试设计一种算法,将x插入到表中的适当位置,以保持顺序表的有
假设顺序表L中的元素递增有序,设计算法在顺序表中插入元素x,要求插入后仍保持其递增有序特性,并要求时
二分法查找 C++假设一维数组a[10]中的10个元素是按从小到大的顺序有序排列的,编写程序从a中二分查找出其值等于给定
求元素周期表的元素排列顺序
C语言编写一个函数,按顺序显示一个整数数组arr[n]中不同元素
在顺序存储结构的线性表中插入一个元素,平均需要移动( )个元素