怎样将某个元素的位置与另外一个元素的位置互换最好能举例说明一下,谢谢。

解决方案 »

  1.   

    除了调整迭代子,似乎没有办法....vector是按照顺序插入的哦。
    跟顶。似乎只能重新插入。用冒泡排序吧。查找到后交换。这应该是算法的问题。跟是否vector没关。
      

  2.   

    除了调整迭代子,似乎没有办法....vector是按照顺序插入的哦。
    跟顶。似乎只能重新插入。用冒泡排序吧。查找到后交换。这应该是算法的问题。跟是否vector没关。
      

  3.   

    #include <vector>
    #include <iostream>int main(void)
    {
       using namespace std;   
       vector<int> v1;
       vector<int>::iterator it;   v1.push_back( 10 );
       v1.push_back( 20 );   for (it = v1.begin(); it != v1.end(); it++)
       cout << *it << "\t";
       cout << endl;   int& tmp = v1[0];
       v1[0] = v1[1];
       v1[1] = tmp;   for (it = v1.begin(); it != v1.end(); it++)
       cout << *it << "\t";
       cout << endl;   return 0;
    }
      

  4.   

    刚才写错了
    #include <vector>
    #include <iostream>int main(void)
    {
       using namespace std;   
       vector<int> v1;
       vector<int>::iterator it;   v1.push_back( 10 );
       v1.push_back( 20 );
       v1.push_back( 30 );
       v1.push_back( 40 );   for (it = v1.begin(); it != v1.end(); it++)
       cout << *it << "\t";
       cout << endl;   int& tmp = v1[0];
       int tmp2 = tmp;
       v1[0] = v1[2];
       v1[2] = tmp2;   for (it = v1.begin(); it != v1.end(); it++)
       cout << *it << "\t";
       cout << endl;   return 0;
    }
      

  5.   

    再问一下大家,sort函数是如何改变元素顺序的?与上面的方法类似吗?