江月何年初照人… 2022-04-30 01:07 采纳率: 100%
浏览 42
已结题

按要求补充编程片段 只要符合标准 秒采纳

img

img

img

img


类与对象题不要用太高级句子(最好多些注释) 必须按照他的提示填写 最好附上运行结果 只要测试后没问题 秒通过! 嫌少商量后可追加!

  • 写回答

1条回答 默认 最新

  • 下坠丷 2022-04-30 10:40
    关注
    
    #include<iostream>
    #include<stdio.h>
    
    using namespace std;
    
    class Link
    {
        private:
            int arr[200];
            int length;
        public:
            //无参构造函数 
            Link()
            {
                //初始化为全0 
                for(int i=0;i<200;i++)
                {
                    arr[i]=0;
                }
                length=0;
            }
            //有参构造函数 
            Link(int* ar,int len)
            {
                for(int i=0;i<len;i++)
                {
                    arr[i]=ar[i];
                }
                length=len;
            }
        
            void insert_link(int n,int index)
            {
                //index小于0设置为0,大于有效长度减一设置为有效长度减一 
                if(index<0)
                {
                    index=0;
                }
                if(index>length-1)
                {
                    index=length-1;
                }
                //index及以后元素后移一位 
                for(int i=length;i>index;i--)
                {
                    arr[i]=arr[i-1];
                 } 
                 //插入并修改length
                 arr[index]=n;
                 ++length; 
            }
            
            void delete_link(int index)
            {
                //index小于0设置为0,大于有效长度减一设置为有效长度减一 
                if(index<0)
                {
                    index=0;
                }
                if(index>length-1)
                {
                    index=length-1;
                }
                //index之后元素每个前移一位覆盖index 
                for(int i=index;i<length-1;i++)
                {
                    arr[i]=arr[i+1];
                }
                --length; 
            }
            
            void show_link()
            {
                for(int i=0;i<length;i++)
                {
                    cout<<arr[i]<<' ';
                }
                cout<<endl;
            }
            
    };
    int main()
    {
        int ar[200],len;
        int ins_index,n,del_index;
        
        //读入数据。小于等于0结束,数据保存到数组arr。len为实际有效数据长度
        len=0;
        while(true)
        {
            int temp;
            cin>>temp;
            if(temp<=0)
            {
                break;
            }
            ar[len]=temp;
            len++;
        }
        
        cin>>n>>ins_index>>del_index;
        Link lk(ar,len);
        lk.show_link();
        
        lk.insert_link(n,ins_index);
        lk.show_link();
        
        lk.delete_link(del_index);
        lk.show_link();
        
        return 0;
    }
    

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 4月30日
  • 创建了问题 4月30日