List Introduction:
The list is a bidirectional linked list of STL implementations, which allows for fast insertions and deletions compared to vectors (vectors), but is slower in random access.
Example code 1:
#include <list>
#include <stdio.h>
using namespace std;
int main (void)
{
list<int> myList;
Mylist.push_back (1);
Mylist.push_back (2);
Mylist.push_back (3);
List<int>::iterator iter;
for (iter = Mylist.begin (); Iter!= mylist.end (); iter++)
{
printf ("%d\n", *iter);
}
return 0;
}
Example code 2:
using namespace Std; typedef struct Logfilter {char keyword[64];}
logfilter_t; void Extractlogkeyword (char *szuploadfilter, list<logfilter_t> *puploadkeywordlist, list<logfilter_t> *
pnotuploadkeywordlist) {int readlen;
logfilter_t Tmpstbuf;
char *point = NULL;
char *pszuploadfilter = szuploadfilter;
printf ("%s\n\n", Pszuploadfilter);
while (pszuploadfilter[0] = = ' ^ ') {memset (tmpstbuf.keyword, 0, sizeof (Tmpstbuf.keyword));
if (pszuploadfilter[1] = = ' ~ ') {pszuploadfilter + + 2;
Point = Strstr (Pszuploadfilter, "^");
if (point!= NULL) {readlen = Point-pszuploadfilter;
memcpy (Tmpstbuf.keyword, Pszuploadfilter, Readlen);
Pszuploadfilter = point;
if (Readlen > 0) pnotuploadkeywordlist->push_back (TMPSTBUF);
else {memcpy (Tmpstbuf.keyword, Pszuploadfilter, strlen (Pszuploadfilter));
Pnotuploadkeywordlist->push_back (TMPSTBUF);
Break
} else {pszuploadfilter = 1; Point = Strstr (PSzuploadfilter, "^");
if (point!= NULL) {readlen = Point-pszuploadfilter;
memcpy (Tmpstbuf.keyword, Pszuploadfilter, Readlen);
Pszuploadfilter = point;
if (Readlen > 0) puploadkeywordlist->push_back (TMPSTBUF);
else {memcpy (Tmpstbuf.keyword, Pszuploadfilter, strlen (Pszuploadfilter));
if (strlen (Pszuploadfilter) > 0) puploadkeywordlist->push_back (TMPSTBUF);
Break
int main (void) {list<logfilter_t> puploadkeywordlist;
List<logfilter_t> pnotuploadkeywordlist;
Char buf[256] = "^~normallog^~camstatus";
if (buf[0]!= ' ^ ' | | | strlen (BUF) = = 1) printf ("invalid\n");
Extractlogkeyword (buf, &puploadkeywordlist, &pnotuploadkeywordlist);
List<logfilter_t>::iterator ITER; for (iter = Puploadkeywordlist.begin (); Iter!= puploadkeywordlist.end (); iter++) {printf ("Upload:%s\n", Iter->ke
Yword); for (iter = Pnotuploadkeywordlist.begin (); Iter!= Pnotuploadkeywordlist.end ();
iter++) {printf ("Notupload:%s\n", Iter->keyword);
return 0; }