A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FList%2Flist_splice</id>
		<title>C++/List/list splice - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FList%2Flist_splice"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/List/list_splice&amp;action=history"/>
		<updated>2026-04-17T01:01:36Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/List/list_splice&amp;diff=1847&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/List/list_splice&amp;diff=1847&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/List/list_splice&amp;diff=1848&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/List/list_splice&amp;diff=1848&amp;oldid=prev"/>
				<updated>2010-05-25T10:28:00Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Insert all elements of list1 before the first element with value 3 of list2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
/* The following code example is taken from the book&lt;br /&gt;
 * &amp;quot;The C++ Standard Library - A Tutorial and Reference&amp;quot;&lt;br /&gt;
 * by Nicolai M. Josuttis, Addison-Wesley, 1999&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright Nicolai M. Josuttis 1999.&lt;br /&gt;
 * Permission to copy, use, modify, sell and distribute this software&lt;br /&gt;
 * is granted provided this copyright notice appears in all copies.&lt;br /&gt;
 * This software is provided &amp;quot;as is&amp;quot; without express or implied&lt;br /&gt;
 * warranty, and with no claim as to its suitability for any purpose.&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void printLists (const list&amp;lt;int&amp;gt;&amp;amp; l1, const list&amp;lt;int&amp;gt;&amp;amp; l2)&lt;br /&gt;
{&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;list1: &amp;quot;;&lt;br /&gt;
    copy (l1.begin(), l1.end(), ostream_iterator&amp;lt;int&amp;gt;(cout,&amp;quot; &amp;quot;));&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;list2: &amp;quot;;&lt;br /&gt;
    copy (l2.begin(), l2.end(), ostream_iterator&amp;lt;int&amp;gt;(cout,&amp;quot; &amp;quot;));&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    // create two empty lists&lt;br /&gt;
    list&amp;lt;int&amp;gt; list1, list2;&lt;br /&gt;
    // fill both lists with elements&lt;br /&gt;
    for (int i=0; i&amp;lt;6; ++i) {&lt;br /&gt;
        list1.push_back(i);&lt;br /&gt;
        list2.push_front(i);&lt;br /&gt;
    }&lt;br /&gt;
    printLists(list1, list2);&lt;br /&gt;
    // insert all elements of list1 before the first element with value 3 of list2&lt;br /&gt;
    // - find() returns an iterator to the first element with value 3&lt;br /&gt;
    list2.splice(find(list2.begin(),list2.end(),  // destination position&lt;br /&gt;
                      3),&lt;br /&gt;
                 list1);                          // source list&lt;br /&gt;
    printLists(list1, list2);&lt;br /&gt;
}&lt;br /&gt;
 /* &lt;br /&gt;
list1: 0 1 2 3 4 5&lt;br /&gt;
list2: 5 4 3 2 1 0&lt;br /&gt;
list1:&lt;br /&gt;
list2: 5 4 0 1 2 3 4 5 3 2 1 0&lt;br /&gt;
&lt;br /&gt;
 */       &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List Splice==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  list&amp;lt;string&amp;gt; dictionary, bWords;&lt;br /&gt;
  dictionary.push_back(&amp;quot;A&amp;quot;);&lt;br /&gt;
  dictionary.push_back(&amp;quot;B&amp;quot;);&lt;br /&gt;
  dictionary.push_back(&amp;quot;C&amp;quot;);&lt;br /&gt;
  dictionary.push_back(&amp;quot;D&amp;quot;);&lt;br /&gt;
  dictionary.push_back(&amp;quot;E&amp;quot;);&lt;br /&gt;
  dictionary.push_back(&amp;quot;F&amp;quot;);&lt;br /&gt;
  bWords.push_back(&amp;quot;G&amp;quot;);&lt;br /&gt;
  bWords.push_back(&amp;quot;H&amp;quot;);&lt;br /&gt;
  bWords.push_back(&amp;quot;I&amp;quot;);&lt;br /&gt;
  list&amp;lt;string&amp;gt;::iterator it;&lt;br /&gt;
  int i;&lt;br /&gt;
  for (it = dictionary.begin(), i = 0; i &amp;lt; 3; ++it, ++i);&lt;br /&gt;
  dictionary.splice(it, bWords);&lt;br /&gt;
  for (it = dictionary.begin(); it != dictionary.end(); ++it) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; *it &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
  return (0);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Move first element to the end==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
/* The following code example is taken from the book&lt;br /&gt;
 * &amp;quot;The C++ Standard Library - A Tutorial and Reference&amp;quot;&lt;br /&gt;
 * by Nicolai M. Josuttis, Addison-Wesley, 1999&lt;br /&gt;
 *&lt;br /&gt;
 * (C) Copyright Nicolai M. Josuttis 1999.&lt;br /&gt;
 * Permission to copy, use, modify, sell and distribute this software&lt;br /&gt;
 * is granted provided this copyright notice appears in all copies.&lt;br /&gt;
 * This software is provided &amp;quot;as is&amp;quot; without express or implied&lt;br /&gt;
 * warranty, and with no claim as to its suitability for any purpose.&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void printLists (const list&amp;lt;int&amp;gt;&amp;amp; l1, const list&amp;lt;int&amp;gt;&amp;amp; l2)&lt;br /&gt;
{&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;list1: &amp;quot;;&lt;br /&gt;
    copy (l1.begin(), l1.end(), ostream_iterator&amp;lt;int&amp;gt;(cout,&amp;quot; &amp;quot;));&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;list2: &amp;quot;;&lt;br /&gt;
    copy (l2.begin(), l2.end(), ostream_iterator&amp;lt;int&amp;gt;(cout,&amp;quot; &amp;quot;));&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    // create two empty lists&lt;br /&gt;
    list&amp;lt;int&amp;gt; list1, list2;&lt;br /&gt;
    // fill both lists with elements&lt;br /&gt;
    for (int i=0; i&amp;lt;6; ++i) {&lt;br /&gt;
        list1.push_back(i);&lt;br /&gt;
        list2.push_front(i);&lt;br /&gt;
    }&lt;br /&gt;
    printLists(list1, list2);&lt;br /&gt;
    // move first element to the end&lt;br /&gt;
    list2.splice(list2.end(),        // destination position&lt;br /&gt;
                 list2,              // source list&lt;br /&gt;
                 list2.begin());     // source position&lt;br /&gt;
    printLists(list1, list2);&lt;br /&gt;
}&lt;br /&gt;
 /* &lt;br /&gt;
list1: 0 1 2 3 4 5&lt;br /&gt;
list2: 5 4 3 2 1 0&lt;br /&gt;
list1: 0 1 2 3 4 5&lt;br /&gt;
list2: 4 3 2 1 0 5&lt;br /&gt;
&lt;br /&gt;
 */       &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use list.splice() to remove elements in a list and insert at end of values==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using std::cout;&lt;br /&gt;
using std::endl;&lt;br /&gt;
#include &amp;lt;list&amp;gt;      // list class-template definition&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt; // copy algorithm&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;  // ostream_iterator&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int array[ 4 ] = { 2, 6, 4, 8 };&lt;br /&gt;
   std::list&amp;lt; int &amp;gt; values;      // create list of ints&lt;br /&gt;
   std::list&amp;lt; int &amp;gt; otherValues; // create list of ints&lt;br /&gt;
   std::ostream_iterator&amp;lt; int &amp;gt; output( cout, &amp;quot; &amp;quot; );&lt;br /&gt;
   // insert items in values&lt;br /&gt;
   values.push_front( 1 );&lt;br /&gt;
   values.push_front( 3 );&lt;br /&gt;
   values.push_back( 4 );&lt;br /&gt;
   values.push_back( 2 );&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;values contains: &amp;quot;;&lt;br /&gt;
   std::copy( values.begin(), values.end(), output );&lt;br /&gt;
   otherValues.insert( otherValues.begin(), array, array + 4 );&lt;br /&gt;
   values.splice( values.end(), otherValues );&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\n\nvalues contains: &amp;quot;;&lt;br /&gt;
   std::copy( values.begin(), values.end(), output );&lt;br /&gt;
   cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
 /* &lt;br /&gt;
values contains: 3 1 4 2&lt;br /&gt;
values contains: 3 1 4 2 2 6 4 8&lt;br /&gt;
 */       &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>