1、3作业

#include <iostream>
#define Max 40
using namespace std;
template<typename T>
class sqlist
{
public:
    int num;
    T *data;
    sqlist(){data=new T[40]();num=0;}
    ~sqlist()
    {
        delete(data);
    }
    void insert(T a);
    void insert_mid(int start,int len);
    void delete_p(int p);
    void updata_val(T o,T n );
    void search(T a);
    void show();

};
template <typename T>
void sqlist<T>::insert(T a)
{
    data[num]=a;
    num++;
}
template <typename T>
void sqlist<T>::insert_mid(int start,int len)
{
    if(len+num>Max)
    {
        cout<<"插入过长"<<endl;
    }
    for(int i=1;i<(num-start);i++)
    {
        data[num+i-1]=data[start+i];
    }
    cout<<"输入要插入的值"<<endl;
    for(int i=1;i<=len;i++)
    {
        cin>>data[start-1+i];
    }
    num+=len;
    cout<<"插入成功"<<endl;
}
template <typename T>
void sqlist<T>::delete_p(int p)
{
    for(int i=0;i<(num-p);i++)
    {
        data[p-1+i]=data[p+i];
    }
    num--;
}
template <typename T>
void sqlist<T>::show()
{
    for(int i=0;i<num;i++)
    {
        cout<<data[i]<<' ';
    }
    cout<<endl;
}
template <typename T>
void sqlist<T>::updata_val(T o,T n)
{
    bool flag=0;
    for(int i=0;i<num;i++)
    {
        if(data[i]==o)
        {
            data[i]=n;
            flag=1;
        }
    }
    if(flag==0)
    {
        cout<<"表中无该值"<<endl;
    }
}
template <typename T>
void sqlist<T>::search(T a)
{
    for(int i=0;i<num;i++)
    {
        if(data[i]==a)
        {
            cout<<i+1<<endl;
        }
    }
}
int main()
{
    sqlist<int> s1;
    s1.insert_mid(0,5);
    s1.show();
    s1.delete_p(3);
    s1.show();
    s1.search(5);
    s1.updata_val(4,100);
    s1.show();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值