设顺序表Va中的数据元素递增有序,试写一算法将X插入到顺序表的适当位置,以保持该表的有序性! 设顺序表中a中的数据元素递增有序,试写一算法将x插入到顺序表...

作者&投稿:仲凭 (若有异议请与网页底部的电邮联系)
C/C++?还是JAVA?

基本思想:从最后一个往前比较,X小则表中比较值后移一位,X放刚比较的那个位置,再循环依次网前,X大时结束。

不知道是否能解决?

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

设顺序表va中的数据元素递增有序.试写一算法将x插入到顺序表的适当位置上,以保持该表的有序性~

这个很容易吧~~假设va中原本有k个元素
S1:先检查va是否满了~~若满,返回信息并终止程序
S2:从第一个元素开始比较,直到有一个元素(不妨设为第n个元素)比x大,标记m=n
S3:将第n到第k个元素向后移一位~可参考:
for(int i=k;i>n;i--)
{
va[i+1]=va[i];
}

S3:将x放到va[n]中,va[n]=x;

S4:更新长度数据~

#include // a 顺序表 x 将要插入值 len 顺序表长度// 返回值为表a的新长度int insert(int x, int * a, int len){printf("%3d ins ", x); // 这句为了演示用,显示插入的数值int l, r, m;// 查找插入位置l = -1;r = len;m = (l + r) / 2;while(r - l > 1){if(a[m] r; l--) a[l] = a[l-1];a[l] = x;}return ++len;}void print(int *a, int l){int i;for(i=0; i<l; i++) printf("%4d", a[i]);printf("
");}void main(){int a[20] = {1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,0,0,0,0,0};int len = 10;print(a, len);len = insert(20, a, len);print(a, len);len = insert(11, a, len);print(a, len);len = insert(10, a, len);print(a, len);len = insert(-1, a, len);print(a, len);len = insert(0, a, len);print(a, len);len = insert(1, a, len);print(a, len);len = insert(2, a, len);print(a, len);len = insert(55, a, len);print(a, len);}

在WORD中怎样按照递减的顺序排序,和递增的排序?
答:2、点击工具栏中的“排序”按钮。3、在弹出的排序对话框中,将主要关键字选择为“列1”,将类型更改为“数字”。4、再将排序顺序设置为“降序”,点击确定。5、即可将表格内的数字按照降序递减的顺序排序。6、或者将降序更改为升序,点击确定。7、即可将表格中的数据按照升序递增的顺序排序。

在vc中 设顺序表L中的元素递增有序。试写一算法,将e插入到顺序表的适当...
答:void InsertNode(LINK *link) { LINK *p = head;while(p->next != NULL) { if(p->next->KEYWORD >= link->KEYWORD) p = p->next;else { link->next = p->next;p->next = link;} } p->next = link;link->next = NULL; // 插入在链表尾的处理 } ...

大学数据结构题目,递增顺序表插入元素
答:下面的程序先构造一个顺序表,输入n个元素。然后输入要插入的元素,插入完成后,该表仍然保持有序。include<stdio.h>#include<stdlib.h>#include<conio.h>#define LIST_INIT_SIZE 100struct list{int *data;int listsize;int listlength;};int create_list(struct list &l);int init_list(struct ...

...的一道题目:已知顺序表La中的数据元素递增有序.把X插入到La中,使La...
答:p=x if(l->next)l->next=q;while(q->next){ if(x>q->data && xnext){ p->next=q->next;q->next=p;free(p);free(q);break;} p=p->next }

C语言。已知线性表中的元素以值递增有序排列,并以单链表作存储结构.写...
答:一个功能函数:include<stdio.h> include<stdlib.h> typedef struct list{ int data;struct list *next;}list;void fun(list *head,int mink ,int maxk){ list *pre,*p;pre=head;p=pre->next;while(p){ if(p->data>mink&&p->data<maxk){ pre->next=p->next;p=pre->next;} else...

已知顺序表L递增有序,编写一个算法,将X插入到线性表的适当位置上,以保...
答:基本方法说明:在一个有序线性表中插入一个元素,使其依然有序,那递增有序线性表来说 for example:x插入a b之间时 应满足x<=b&&x>=a;根据这个原理我们在搜索一个链表适合插入x节的位置时应该至少知道两个值,即链表的a节的值和b节的值(只有一个节点的链表另当别论。。。)那么 就有...

什么是有序表,什么又是无序表
答:无序表就是数据的排列不具有顺序性。有序表即表中的元素按某种规则已经排好了位置是,有一定顺序排列的准确定义为:表中所有元素以递增或递减方式排列,并规定有序表中可存在元素值相同的元素。无序表与有序表是相对的。有序、无序是有序表就是指逻辑意义上的,物质的系统结构或运动是确定的、有...

有一个带头结点的单链表L,设计一个算法使其元素递增有序排列
答:=NULL && q->next->data < p->data) q=q->next; /* 在q后面插入p */ p->next=q->next; q->next=p; /* 现在p的第一个元素已经被移到L中合适的位置了 */ p=r; } }}

已知长度为6的顺序表L中的数据均为整型且递增有序,现将一个整型元素a插...
答:void Bubble_2 ( int r[], int n){ int low = 0; int high= n -1; //设置变量的初始值 int tmp,j; while (low < high) { for (j= low; j< high; ++j) //正向冒泡,找到最大者 if (r[j]> r[j+1]) { tmp = r[j]; r[j]=r[j+1];r[j+...

线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设...
答:include <stdio.h> include <malloc.h> include <stdlib.h> typedef struct line { int data;line *next;}Line;void print(Line *head);void search(Line *head);void insert(Line *head,int data);void change(Line* q);void search(Line *head){ Line *p,*q;int data,flag=0;q=head...