VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 723|回复: 0

[交流] 线性

[复制链接]
09_avatar_middle
最佳答案
0 
在线会员 发表于 2015-4-2 16:06:34 | 显示全部楼层 |阅读模式
1.理解并分别用顺序表、链表的操作运行下列程序:
#include <iostream>
using namespace std;
#include "Status.h"
typedef int ElemType;
#include "SqList.h"        //用#include "LinkList.h"替换

void main()
{
  SqList L;         
        ElemType e;
        InitList(L);
        cout<<"\nL=";
        ListTraverse(L);
        cout<<"\n请设置将向线性表L中输入的元素个数:";
        cin>>n;
        CreateList(L,n);
        cout<<"\nL=";
        ListTraverse(L);
        cout<<"\nL的表长为:"<<ListLength(L)<<endl;
        cout<<"\n请输入想要获取的元素位序:";
        cin>>i;
        if(GetElem(L,i,e)) cout<<"\n第"<<i<<"个元素为:"<<e<<endl;
        else cout<<"\n第"<<i<<"个元素不存在!"<<endl;
        cout<<"\n请输入要查找的元素:";
        cin>>e;
        if(i=LocateElem(L,e)) cout<<"\n元素"<<e<<"的位置为:"<<i<<endl;
        else cout<<"\n元素"<<e<<"不存在!"<<endl;
        cout<<"\n请输入插入位置和所插入元素:";
        cin>>i>>e;
        if(ListInsert(L,i,e))
        {        
                cout<<"\nL=";
                ListTraverse(L);
        }
        else cout<<"\n插入操作失败!"<<endl;
        cout<<"\n请输入被删元素的位置:";
        cin>>i;
        if(ListDelete(L,i,e)) cout<<"\n被删元素为:"<<e<<endl;
        else cout<<"\n删除操作失败!"<<endl;
        cout<<"\nL=";
        ListTraverse(L);
}
本题目说明:
(1)头文件Status.h的内容如下:
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
(2)头文件SqList.h(内容包括顺序表的结构定义及基本操作实现)。
(3)头文件LinkList.h(内容包括链表的结构定义及基本操作实现)。
(4)顺序表中基本操作的补充:
&#61548;CreateList(&L,n):向顺序表L中输入n个元素(0≤n≤MAXSIZE)。
Status CreateList(SqList &L,int n)
{
        int i;
        if(!L.elem||n<0||n>MAXSIZE) return ERROR;
        cout<<"\n请输入"<<n<<"个元素:";
        for(i=1;i<=n;i++)
                cin>>L.elem[i-1];     //可以用随机函数rand()自动生成
        L.length=n;
        return OK;
}
&#61548;ListTraverse(L):以线性表的记录形式遍历输出顺序表L,例如:(a1,a2,…,ai,…an)。
void ListTraverse(SqList L)
{
        int i;
        cout<<'(';
        for(i=1;i<=L.length;i++)
                cout<<L.elem[i-1]<<',';
        if(L.length) cout<<"\b)"<<endl;
        else cout<<')'<<endl;
}




上一篇:算法设计
下一篇:约瑟夫环
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-20 00:14

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表