ผลต่างระหว่างรุ่นของ "Psl/stl"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(หน้าที่ถูกสร้างด้วย '== List / iterator == <syntaxhighlight lang="cpp"> #include <list> #include <cstdio> using namespace std; list<int> lst; main() { ...')
 
แถว 20: แถว 20:
 
     i++;
 
     i++;
 
   }
 
   }
 +
}
 +
</syntaxhighlight>
 +
 +
=== erase โดยระบุ iterator ===
 +
 +
<syntaxhighlight lang="cpp">
 +
#include <list>
 +
#include <cstdio>
 +
 +
using namespace std;
 +
 +
list<int> lst;
 +
 +
void print_list(list<int>& lst)
 +
{
 +
  list<int>::iterator i = lst.begin();
 +
  while(i != lst.end()) {
 +
    printf("%d\n", *i);
 +
    i++;
 +
  }
 +
}
 +
 +
main()
 +
{
 +
  lst.push_back(10);
 +
  lst.push_back(20);
 +
  list<int>::iterator i20 = lst.end();
 +
  i20--;
 +
  lst.push_back(30);
 +
 +
  print_list(lst);
 +
  printf("-----\n");
 +
  lst.erase(i20);
 +
  print_list(lst);
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

รุ่นแก้ไขเมื่อ 06:33, 16 กุมภาพันธ์ 2558

List / iterator

#include <list>
#include <cstdio>

using namespace std;

list<int> lst;

main()
{
  lst.push_back(10);
  lst.push_back(20);
  lst.push_back(30);

  list<int>::iterator i = lst.begin();
  while(i != lst.end()) {
    printf("%d\n", *i);
    i++;
  }
}

erase โดยระบุ iterator

#include <list>
#include <cstdio>

using namespace std;

list<int> lst;

void print_list(list<int>& lst)
{
  list<int>::iterator i = lst.begin();
  while(i != lst.end()) {
    printf("%d\n", *i);
    i++;
  }
}

main()
{
  lst.push_back(10);
  lst.push_back(20);
  list<int>::iterator i20 = lst.end();
  i20--;
  lst.push_back(30);

  print_list(lst);
  printf("-----\n");
  lst.erase(i20);
  print_list(lst);
}