会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
1.曲待续
顺序表的实现
//2_a1.cpp 实验1 第1题参考答案 #include<iostream> using namespace std; typedef int datatype; const int maxsize = 100; typedef struct { datatype data[maxsize]; int n; }sqlist; sqlist* InitList() { sqlist * L = new sqlist; L->n=0; return L; } int Length(sqlist * L) { return L->n; } int Insert(sqlist * L, datatype x, int i) { int j; if(L->n==maxsize) { cout<<"表满,不能插入!"<<endl; return -1; } if(i<1 || i>L->n+1) { cout<<"非法插入位置!"<<endl; return 0; } for(j=L->n ; j>=i ; j--) { L->data[j] = L->data[j-1]; } L->data[i-1]=x; L->n++; return 1; } int Delete(sqlist * L , int i) {//从顺序表中删除第i个位置上的结点 int j; if(L->n==0) { cout<<"表空,不能删除!(下溢)\n"; return -1; } if(i<1 || i>L->n) { cout<<"非法删除位置!\n"; return 0; } for(j=i+1 ; j<=L->n ; j++) L->data[j-2] = L->data[j-1]; L->n--; return 1; } int Locate(sqlist * L , datatype x) { int i=1; while(i<=L->n && L->data[i-1]!=x) i++; if(i<=L->n) return i; //找到 else return 0; //未找到 } datatype Get(sqlist * L, int i) { if(i<1 || i>L->n) { cout<<"非法获取位置!\n"; return 0; } return L->data[i-1]; } void Display(sqlist * L) { cout<<"线性表中的数据元素依次是 : "; int i; for(i=0;i<L->n;i++) { cout<<L->data[i]<<" "; } cout<<endl<<endl; } int main() { sqlist * List = InitList(); cout<<"调用InitList函数创建空表后:"<<endl; cout<<"线性表的长度是:"<<Length(List)<<endl; Display(List); cout<<"以下四次调用Insert函数:"<<endl; Insert(List,5,1); cout<<"调用Insert函数,在当前第1个位置插入5之后:"<<endl; Display(List); Insert(List,6,1); cout<<"调用Insert函数,在当前第1个位置插入6之后:"<<endl; Display(List); Insert(List,9,3); cout<<"调用Insert函数,在当前第3个位置插入9之后:"<<endl; Display(List); Insert(List,8,3); cout<<"调用Insert函数,在当前第3个位置插入8之后:"<<endl; Display(List); cout<<"调用Length函数,得到线性表的当前长度是:"<<Length(List)<<endl<<endl; int r; r=Locate(List,5); cout<<"调用Locate函数,找到5在线性表中的位置是:"<<r<<endl<<endl; Delete(List,2); cout<<"调用Delete函数,删除第2个元素后:"<<endl; Display(List); cout<<"调用Length函数,得到线性表的当前长度是:"<<Length(List)<<endl<<endl; datatype d; d=Get(List ,3); cout<<"调用Get函数获取得到该线性表的第3个元素是:"<<d<<endl<<endl; return 0; }
posted on
2011-09-14 22:34
1.曲待续
阅读(
188
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
导航
博客园
首页
新随笔
联系
订阅
管理
公告