📄 顺序线性表ywc.cpp
字号:
#include<iostream>
#include<string>
#define maxlen 100
using namespace std;
typedef struct{
string name[maxlen];
int length;
}sqlist;
sqlist L;
int insert(sqlist &L,int h);
int delet(sqlist &L,int k);
void shuchu(sqlist &L);
void creat(sqlist &L)
{
L.length=0;
int i;
cout<<"建立顺序线性表,请输入各个人的姓名,输入完后输入\"0\":"<<endl;
for(i=0;i<maxlen&&L.name[i-1]!="0";i++)
{
cin>>L.name[i];
++L.length;
}
--L.length; //由于最后输入了一个"0",它不属于姓名的,所以在循环外加--L.length是为了"截断"那个"0"的空间,使下面输出时候不会输出"0".
}
int main()
{
int h,k;
creat(L);
cout<<endl<<"请输入要在第几个姓名前插入:";
cin>>h;
insert(L,h);
cout<<"请输入要删除第几个姓名:";
cin>>k;
delet(L,k);
return 0;
}
int insert(sqlist &L,int h)
{
if(h<1||h>L.length)
{cout<<endl<<"error!";return 0;}
string cha;
cout<<"请输入要插入的姓名:";
cin>>cha;
int j;
for(j=L.length-1;j>=h-1;j--)
{L.name[j+1]=L.name[j];}
L.name[h-1]=cha;
++L.length;
shuchu(L);
return 0;
}
int delet(sqlist &L,int k)
{
if(k<1||k>L.length)
{cout<<"error!";return 0;}
int j;
for(j=k;j<=L.length;j++) L.name[j-1]=L.name[j];
--L.length;
shuchu(L);
return 0;
}
void shuchu(sqlist &L)
{
int i;
cout<<endl;
for(i=0;i<L.length;i++)
{cout<<L.name[i]<<' ';}
cout<<endl<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -