将x插入到顺序表中保持顺序表的递增有序
来源:互联网 发布:最新网络歌曲打包下载 编辑:程序博客网 时间:2024/04/30 15:54
例题:设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
#include <stdio.h>#include <stdlib.h>#include <assert.h>//不定长顺序表,自动增长#define INITSIZE 10typedef struct DSeqList{int *elem;//指向存放数据的动态数组int length;//有效数据个数int listsize;//总容量,总格子数}DSeqList,*PDSeqList;void InitSeqList(PDSeqList ps)//初始化顺序表 {assert(ps != NULL);if(ps == NULL){return;}ps->elem = (int *)malloc(INITSIZE*sizeof(int));ps->length = 0;ps->listsize = INITSIZE;}static bool IsFull(PDSeqList ps)//判满 {return ps->length == ps->listsize;}//将总容量扩大到原来的2倍static void Inc(PDSeqList ps){ps->elem = (int *)realloc(ps->elem,ps->listsize*2*sizeof(int));ps->listsize *= 2;}bool Insert(PDSeqList ps,int pos,int val)//插入数据 {if(pos<0 || pos>ps->length){return false;}if(IsFull(ps)){ Inc(ps);}for(int i=ps->length-1;i>=pos;i--)//移动后面的数据{ps->elem[i+1] = ps->elem[i];}ps->elem[pos] = val;ps->length++;return true;}/*顺序表中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性*/bool Insert_x(PDSeqList ps,int x){if(IsFull(ps)){Inc(ps);}int i;for(i = 0;i < ps->length;i++){if(ps->elem[i] > x){break;}}for(int j = ps->length-1;j >= i;j--){ps->elem[j+1] = ps->elem[j];}ps->elem[i] = x;ps->length++;return true;}int main(){DSeqList ds1;DSeqList ds2;InitSeqList(&ds1);InitSeqList(&ds2);for(int i = 0;i < 10;i++){Insert(&ds1,i,i);Insert(&ds2,i,i);}Show(&ds1);Show(&ds2);//测试用例Insert_x(&ds1,5);Insert_x(&ds1,-1);Insert_x(&ds1,23);Show(&ds);return 0;}
阅读全文
0 0
- 将x插入到顺序表中保持顺序表的递增有序
- 设顺序表a中的数据元素递增有序,试设计一个算法,将x插入到顺序表的适当位置,以保持该表的有序性。
- 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性
- 已知顺序表L递增有序,写一算法,将X插入到线性表的适当位置,以保持线性表的有序
- 在有序的顺序表 L 中保序插入数据元素 x
- 数据结构 2-11设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
- 往一递增有序的顺序表中插入x,仍保持气有序性
- 有序顺序表的插入
- 有序顺序表的插入
- 在一个递增有序链表中插入新结点并保持链表递增顺序不变
- 1.有序顺序表的插入
- 有序顺序表的插入实现
- 6-2 有序顺序表的插入
- 顺序表——有序顺序表的插入
- 查找元素x,若x存在,则与其后继交换,否则将x插入,使顺序表有序
- c语言:顺序表的实现(三)将元素e插入到一个递减有序表中,不改变顺序表的递减有序性。
- Matlab中保持原来数值顺序的unique函数实现
- (顺序有序表)插入元素
- 数据库学习---3
- esayui--下拉列表框只能选择当前数据往后的(不可逆的)
- 时间管理
- 快速上手原生IncallUi应用
- 上下拉刷新
- 将x插入到顺序表中保持顺序表的递增有序
- yii2使用composer安装依赖
- [转]Oracle中的DB time VS. DB CPU
- 回溯法(6)
- Leetcode算法学习日志-60 Permutation Sequence
- 360互联网技术训练营第七期
- 第9周项目3- 利用二叉树遍历思想解决问题(2)
- MongoDB用户安全配置
- leetcode1-two sum