设计删除顺序表中【x,y】中的所有元素算法
2016-03-23 10:53
423 查看
线性表L采用顺序存储结构,删除元素在[x,y]之间的所有元素。
代码如下:
代码如下:
#include <iostream> #include <stdlib.h> using namespace std; #define MaxSize 10 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int length; }SqList; void InitiList(SqList *&L,ElemType a[],int n);//初始化顺序表 void DisplayList(SqList *L);//显示顺序表 <span style="color:#ff0000;">bool DeleteX_YList(SqList *L,int x,int y);//删除x,y之间的元素</span> int main() { SqList *L=new SqList(); ElemType a[]={'a','b','c','d','e','f','g','l'}; InitiList(L,a,8); DisplayList(L); cout<<endl; DeleteX_YList(L,1,4); DisplayList(L); return 0; } <span style="color:#ff0000;">bool DeleteX_YList(SqList *L,int x,int y)//删除x,y之间的元素 { if((y-x)>(L->length)||(y<x)) return false; else { int i=y; for(int j=x-1;i<L->length;j++,i++) L->data[j]=L->data[i]; L->length-=(y-x+1); return true; } }</span> void DisplayList(SqList *L)//显示顺序表 { for(int i=0;i<L->length;i++) cout<<L->data[i]<<" "; } void InitiList(SqList *&L,ElemType a[],int n)//初始化顺序表 { L = (SqList*)malloc(sizeof(SqList)); for(int i=0;i<n;i++) L->data[i]=a[i]; L->length=n; }
相关文章推荐
- struts.xml中Action的method与路径的几种匹配模式。
- Android 如何判断 ViewStub 是否inflate
- iOS底层学习-KVC使用实践以及实现原理
- WebView加载html5页面
- 盒子模型
- iOS开发--泛型
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- WiFI Display(WFD)
- Hadoop contrib介绍
- 结对编程心得体会
- Spring Security(17)——基于方法的权限控制
- mysql访问被拒绝解决 ---谷营中西软件科技园
- 移动端高清、多屏适配方案 [来源:http://div.io/topic/1092]
- Linux服务器上监控网络带宽的18个常用命令
- 网络基础
- Directory Structures for Oracle RAC
- Glide 入门到精通之三——占位符和渐现动画
- 杂项设备(misc device)
- 图片圆角造成界面不流畅问题
- JavaScript打印页面的指定内容