程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 實驗7:Problem A: STL——靈活的線性表,problemstl

實驗7:Problem A: STL——靈活的線性表,problemstl

編輯:C++入門知識

實驗7:Problem A: STL——靈活的線性表,problemstl


Home Web Board ProblemSet Standing Status Statistics   Problem A: STL——靈活的線性表

Problem A: STL——靈活的線性表

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 2986  Solved: 1092
[Submit][Status][Web Board]

Description

數組和鏈表是我們熟知的兩種線性結構,但是它們不夠靈活(不能同時實現直接插入、刪除和訪問操作),給你若干種操作,你能通過一種靈活的容器,實現它們的功能嗎?   操作1:Build a b (產生一個大小為a的線性表,其值全部賦為b,每組樣例僅出現一次,在起始行) 操作2:Modify a b (將線性表的第a個元素的值設為b) 操作3:Insert a b c (在線性表的第a個位置插入第b到第c個位置的所有元素) 操作4:Erase a b(刪除線性表第a到第b個位置的所有元素) 操作5:Print a b (輸出線性表的第a到第b個元素)   程序在執行操作5的時候要輸出結果,格式如“[1]:3 [2]:4 [3]:5”([]內為線性表的位置,“:”後面為元素的值,不帶引號,每組輸出占一行)

 

Input

輸入有多行,對應5個操作,以EOF結束

 

Output

見Sample

 

Sample Input

Build 10 1 Modify 2 2 Insert 3 1 2 Modify 6 4 Erase 3 5 Print 1 8

Sample Output

[1]:1 [2]:2 [3]:4 [4]:1 [5]:1 [6]:1 [7]:1 [8]:1

HINT

使用vector可以很容易解決

 

 

 

 

Append Code

 
[Submit][Status][Web Board]

한국어<   中文  فارسی  English  ไทย
All Copyright Reserved 2010-2011 SDUSTOJ TEAM
GPL2.0 2003-2011 HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:admin

#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{
    string l;
    int m,n,k;
    vector<int> a;
    vector<int>::iterator p;
    ///a.clear();
    while(cin>>l){
    if(l=="Build"){cin>>m>>n;a.assign(m,n);}
    else if(l=="Modify"){cin>>m>>n;a[m-1]=n;}
    else if(l=="Insert"){cin>>m>>n>>k;a.insert(a.begin()+m-1,a.begin()+n-1,a.begin()+k);}
    else if(l=="Erase"){cin>>m>>n;a.erase(a.begin()+m-1,a.begin()+n);}
    else if(l=="Print")
    {
        cin>>m>>n;
        int i;
        for(i=m-1;i<n;i++)
        {
            if(i!=n-1)
            cout<<"["<<i+1<<"]"<<":"<<a[i]<<" ";
            else
                cout<<"["<<i+1<<"]"<<":"<<a[i]<<endl;
        }
    }
    }
    return 0;
}

 

注:

PS:在C++中,能用string的地方盡量不要用數組。(個人觀點!)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved