STL的运用—数列

/*
 *Copyright (c) 2016 烟台大学计算机与控制工程学院
 *All rights reserved.
 *文件名称:test.cpp
 *作    者:史红浩
 *完成日期:2016年 6 月 13 日
 *版 本 号:v1.0
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<int>intList;
    vector<int>::iterator listlt;
    int i,j,k;
    cout<<"要输入数列的长度:";
    cin>>k;
    cout<<"输入数列:";
    for(i=0;i<k;i++)//输入数列
    {
        cin>>j;
        intList.push_back(j);
    }
    cout<<"原数列:";
    for(i=0;i<k;i++)
        cout<<intList[i]<<"    ";//顺序输出数列
    cout<<endl;
    cout<<"输入要将数列变为原来的倍数:";
    cin>>j;
    for(i=0;i<k;i++)//数列中的数全变成原来的2倍
        intList[i]*=j;
    cout<<"所有数变成原来"<<j<<"倍后的数列:";
    for(listlt=intList.begin();listlt!=intList.end();++listlt)
        cout<<*listlt<<"    ";
    cout<<endl;
    listlt=intList.begin();//在数列中间插入一个数
    cout<<"输入要插入的位置:";
    cin>>j;
    for(;;)
    {
        if(j>k)
        {
            cout<<"超出数列长度,请重新输入:";
            cin>>j;
        }
        else
        {
            for(i=0;i<j-1;i++)
                ++listlt;
            cout<<"输入要插入的数:";
            cin>>j;
            intList.insert(listlt,j);
            cout<<"插入数后的数列:";
            for(listlt=intList.begin();listlt!=intList.end();++listlt)
                cout<<*listlt<<"    ";
            cout<<endl;
            break;
        }
    }
    return 0;
}

运行结果:


猜你喜欢

转载自blog.csdn.net/jiaowohaohao/article/details/51654665