设顺序表a中的数据元素递增有序,试设计一个算法,将x插入到顺序表的适当位置,以保持该表的有序性。
来源:互联网 发布:安邦和谐健康保险 知乎 编辑:程序博客网 时间:2024/04/30 14:59
设顺序表a中的数据元素递增有序,试设计一个算法,将x插入到顺序表的适当位置,以保持该表的有序性。
//1.设顺序表a中的数据元素递增有序,试设计一个算法,将x插入到顺序表的适当位置,以保持该表的有序性。#include<iostream> using namespace std;typedef int T; using namespace std; //类的定义 template <class T> class SqList //顺序表类 { private: T *elem; //表首址 int length; //表长 int listsize;//表容量 public: SqList(int m) ;//构造函数, 创建容量为m的空表 ~SqList();//析构函数,删除表空间 void CreateList(int n);//创建具有n个元素的线性表 void Insert(int i,T e);//在表中第i个位置插入元素 int Locate(T e);//元素定位 void ListDisp();//输出表元素 }; //类的实现 template<class T> SqList<T>::SqList(int m) {//构建函数,创建一表容量为m的空表 elem=new T[m];// 申请表空间 length=0;// 空表,表长为0 listsize=m;//表容量为m } template<class T> SqList<T>::~SqList()//析构函数 {//释放表空间 delete [] elem; length=0; listsize=0; } template<class T> void SqList<T>::CreateList(int n) {//创建表长度为n的顺序表 if(n>listsize) throw"参数非法"; int step,chushi; cout<<"请依次输入初始值和步长:"; cin>>chushi>>step; for(int i=1;i<=n;i++) elem[i-1]=chushi+(i-1)*step; length=n; } template<class T> void SqList<T>::Insert (int i,T e) {// 在第i个位置插入元素,如不能插入,显示异常信息 if(length>=listsize) throw "上溢"; if(i<1||i>length+1) throw "插入位置异常"; for(int j=length;j>=i;j--) elem[j]=elem[j-1]; elem[i-1]=e; length++; } template<class T> int SqList<T>::Locate (const T e) {// 元素定位,若找到,返回该元素在表中的位序;末找到,返回0。 for(int i=0;i<length;i++) if(elem[i]<=e&&elem[i+1]>=e) return i+1; return 0; } template <class T> void SqList<T>::ListDisp() {//显示表内容 for(int i=0;i<length;i++) { cout<<elem[i]<<"\t"; } cout<<endl; } //主函数 void main() { int n,I; T e; SqList<int> L(20); cout<<"请输入要创建的顺序表中元素个数:"; cin>>n; cout<<endl; L.CreateList(n); cout<<endl; L.ListDisp(); cout<<endl; cout<<"请输入插入元素的值:"; cin>>e; I=L.Locate(e); cout<<endl; L.Insert(I+1,e); //返回的I为插入数e的前一个数的位置 L.ListDisp(); cout<<endl; }
0 0
- 设顺序表a中的数据元素递增有序,试设计一个算法,将x插入到顺序表的适当位置,以保持该表的有序性。
- 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性
- 数据结构 2-11设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
- 已知顺序表L递增有序,写一算法,将X插入到线性表的适当位置,以保持线性表的有序
- 往一递增有序的顺序表中插入x,仍保持气有序性
- c语言:顺序表的实现(三)将元素e插入到一个递减有序表中,不改变顺序表的递减有序性。
- 将x插入到顺序表中保持顺序表的递增有序
- 设顺序表 S 中元素递增有序,编写算法删除 S 所有大于 k1 且小于 k2 的元素
- 在一个递增有序链表中插入新结点并保持链表递增顺序不变
- 在有序的顺序表 L 中保序插入数据元素 x
- 设A和B是两个单链表,其表中元素递增有序,使用一算法将A和B归并成一个案元素递减有序的单链表C(该程序中的功能包含了上几个博客中的部分功能)
- 有序顺序表的插入
- 有序顺序表的插入
- 假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并为一个按元素值递减 有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原装(即A表和
- 练习:有一个有序的数组,想要将一个元素插入到该数组中,还要保证该数组是有序的。如何获取该元素在数组中的位置.(2012.2.17)
- 写程序。设ha和hb分别是两个带头结点的非递减有序单链表的头指针,试设计算法,将这两个有序链表合并成一个非递增有序的单链表。要求使用原链表空间,
- 已知线性表中元素以值递增有序排列,并以单链表作为存储结构,设计一个算法,删除表中值相同的多余元素
- 数据结构链表习题2.27,假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合,现要求另辟空间构成一个顺序链表
- 一些代码
- prezi
- leetcode 第125题 valid Palindrome
- javaFX之3D图形——Camera
- Web Service与Web API对比
- 设顺序表a中的数据元素递增有序,试设计一个算法,将x插入到顺序表的适当位置,以保持该表的有序性。
- 再給我三个月 - 烟雨风尘
- hdu 4597 Play Game 记忆化搜索 区间dp
- Django1.8更新整理
- TCP/IP详解学习笔记(1)-基本概念
- OpenGL 学习(1)
- 关于聚类
- VS2012 对话框控件的Tab顺序问题
- 蓝牙BLE室内定位