⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list.cpp

📁 该程序使用C++完成
💻 CPP
字号:
#include <iostream.h>

struct lists
{
    int l[50];
    int len;//线性表的当前长度
};

void init(lists&l) //初始化线性表

{
    l.len=0;
}

void numberinsertlist(lists&l,int item,int rc) //向线性表指定位置插人元素
{
  if (rc<1 || rc>l.len+1)
  {
    cout << "所给插入元素的位置编号无效!" <<endl;
    exit(1);
  }
  
  for (int i=l.len-1;i>=rc-1;i--)
    l.l[i+1]=l.l[i];
  l.l[rc-1]=item;
  l.len++;
}

bool deletelist(lists&l,int item)  //删除指定元素值的线性表记录
{
    int i,j;
    if (l.len==0) return false; //判定线性表是否为空
    //顺序查找待删除的元素
    for (i=0;i<l.len;i++)
        if (l.l[i]==item) break;
       
    //删除失败返回假
    if (i==l.len) return false;
    //从下标i+1元素至表尾元素均前移一个位置
    for (j=i+1;j<l.len;j++)
        l.l[j-1]=l.l[j];
    //线性表长度减1后返回真
    l.len--;

    return true;
}

void deletelist2(lists&l,int rc)  //删除指定位置的线性表记录
{
    if (rc<1 || rc>l.len)
    {
         cout << "所给删除元素的位置编号无效!" <<endl;
         exit(1);
    }
    for (int j=rc+1;j<l.len;j++)
        l.l[j-1]=l.l[j];
    l.len--;
}

bool findlist(lists&l,int item)   //查找线性表中的元素
{
    int i;
    for (i=0;i<l.len;i++)
        if (l.l[i]==item) break;
    if (i==l.len) return false;
    return true;

}
void outputlist(lists&l) //输出线性表
{
    cout<<"输出结果为: ";
    for (int i=0;i<l.len;i++)
        cout<<l.l[i]<<' ';
    cout<<endl;
}


main()
{
    struct lists s;
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    int i,j,k;
    
    init(s); //初始化线性表
    cout<<"\n初始化线性表\n";
    for (i=0;i<10;i++)
    {
        s.len++;
        s.l[i]=a[i];
    }
    outputlist(s);
    
    cout<<"\n*向线性表的指定位置插入元素*\n";
    cout<<"\n请输入需要插入的元素:";
    cin>>j;
    cout<<"\n请输入需要插入的位置:";
    cin>>k;
    numberinsertlist(s,j,k);
    outputlist(s);

    cout<<"\n*删除线性表中的指定元素*\n";
    cout<<"\n请输入需要删除的元素:";
    cin>>j;
    if (deletelist(s,j))
        cout<<"删除成功!"<<endl;
    else
        cout<<"删除失败!该线性表中没有该元素!"<<endl;
    outputlist(s);
    
    
    cout<<"\n*删除线性表中的指定位置的元素*\n";
    cout<<"\n请输入需要删除元素的位置:";
    cin>>j;
    deletelist2(s,j);
    outputlist(s);
    
    cout<<"\n*查找线性表中的元素*\n";
    cout<<"\n请输入需查找的元素: ";
    cin>>j;
    if (findlist(s,j))
        cout<<"线性表查找成功!";
    else
        cout<<"线性表查找失败!"<<"表中没有元素"<<j<<endl;
    outputlist(s);
    
    return 0;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -