顺序表
来源:互联网 发布:小企业网络循环贷款 编辑:程序博客网 时间:2024/06/02 01:25
顺序表的一些简单操作
#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<stdlib.h>#define length 100#define inlength 100using namespace std;typedef struct{ int *data; int len; int listsize;}sqlist;void inite(sqlist *L)//初始化{ L->data=(int *)malloc(length*sizeof(int)); if(L->data==0)//开辟空间失败 { cout<<"Inite-False"<<endl; return; } else { cout<<"Inite-OK"<<endl; L->len=0; L->listsize=inlength; return; }}void Insert(sqlist *L,int pos,int e)//插入{ int i; if(pos<1||pos>L->len+1)//如果i的值不合法,则插入失败 { cout<<"Insert-False"; return; } if(L->len>=L->listsize)//当前存储空间已满,增加分配 { int *newbase; newbase=(int *)realloc(L->data,(L->listsize+inlength)*sizeof(int)); if(!newbase) { cout<<"Insert-False"<<endl;//存储分配失败 return; } L->data=newbase;//新基址 L->listsize+=inlength;//增加存储容量 } for(i=L->len-1;i>=pos-1;i--) L->data[i+1]=L->data[i];//元素后移 L->data[pos-1]=e;//在第i个位置插入元素e L->len++;//表长加1}void Print(sqlist *L)//输出顺序表{ int i; for(i=0;i<=L->len-1;i++) cout<<L->data[i]<<" "; cout<<endl;}void Find(sqlist *L,int e)//查找{ int *p; int i=1; p=L->data; while(i<=L->len&&(*p++)!=e) i++; if(i<=L->len) { cout<<"Find-OK"<<endl; cout<<"The position is: "<<i<<endl; } else cout<<"Find-False";}void Delete(sqlist *L,int pos)//删除{ int i; if(pos<1||pos>L->len)//i值不合法,则删除失败 { cout<<"ERROR--There is no value here"<<endl; return; } int e=L->data[pos-1];//将被删除的元素存入e中 for(i=pos;i<=L->len-1;i++) L->data[i-1]=L->data[i];//被删除元素之后的元素前移 L->len--;//表长减1 cout<<"Delete : "<<e<<endl;}int main(){ sqlist nod; inite(&nod); int n,i; cin>>n; for(i=1; i<=n; i++) { int x; cin>>x; Insert(&nod,i,x); } Print(&nod); //int x; //cin>>x; //Find(&nod,x); //Print(&nod); //int delete_pos; //cin>>delete_pos; //Delete(&nod,delete_pos); //Print(&nod);}
阅读全文
0 0
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- DevOps落地实践:普元:PRIMETON DEVOPS
- 编译错误集合
- 微信浏览器中进行支付宝支付
- iOS 手写键盘与触摸手势冲突,导致崩溃闪退
- Linux下安装Nginx
- 顺序表
- 如何看懂电路图
- elasticseach基础详解
- Apriori算法
- uiautomator:UiScrollable的用法
- JQuery 基本方法报错:... is not a function的问题
- oracle数据库表中数据删除的恢复方法
- 平面分割,空间分割问题(递推关系)(hdu1249、hdu1290、hdu2050)
- phpStudy+ThinkPHP配置的nginx环境出现404错误