?? 順序線性表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 + -