Advertisement
BigETI

list_fs.pwn

Jul 19th, 2013
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.40 KB | None | 0 0
  1. #include <a_samp>
  2. #include <list> // http://pastebin.com/zzxLg9qE
  3.  
  4. public OnFilterScriptInit()
  5. {
  6.     print("\n=============================================");
  7.     print("= Linked lists in PAWN example filterscript =");
  8.     print("=                            Made by BigETI =");
  9.     print("= Loaded!                                   =");
  10.     print("=============================================\n");
  11.     new LIST::init<my_list>, LIST::init<my_list_2>;
  12.     LIST::push_back(my_list, 1337);
  13.     LIST::insert(my_list, LIST::push_back(my_list, 10000), 5);
  14.     LIST::pop_back(my_list);
  15.     LIST::push_back_arr(my_list_2, {1, 2, 3});
  16.     printf("Potential found: 0x%x", _:LIST::insert_arr(my_list, LIST::push_back(my_list, 2), {7, 8, 5, 2, 6}));
  17.     LIST::push_back(my_list_2, 500);
  18.     LIST::erase(my_list, LIST::push_back(my_list, 3));
  19.     LIST::push_back(my_list_2, 7);
  20.     LIST::push_back(my_list, 4);
  21.     LIST::push_back(my_list_2, 1000);
  22.     LIST::push_front(my_list, 10);
  23.     LIST::push_front(my_list, 20);
  24.     LIST::pop_front(my_list);
  25.     LIST::sort(my_list_2);
  26.     printf(" Memory: %d", LIST::get_data_cell_size(my_list));
  27.     printf(" Memory: %d", LIST::get_all_cell_size(my_list));
  28.     LIST::foreach<list_it>(my_list) printf(" Address: 0x%x | Size of: %d | Value: %d", _:list_it, LIST_IT::data_size(list_it), MEM::get_val(LIST_IT::data_ptr(list_it)));
  29.     LIST::foreach_rev<list_it>(my_list_2) printf(" Address: 0x%x | Size of: %d | Value: %d", _:list_it, LIST_IT::data_size(list_it), MEM::get_val(LIST_IT::data_ptr(list_it)));
  30.     printf(" Found: 0x%x, Amount: %d", _:LIST_find_arr(my_list, {7, 8}), LIST_count_found_arr(my_list, {7, 8}));
  31.     LIST::clear(my_list);
  32.     LIST::clear(my_list_2);
  33.     for(new i = 0; i < 5000000; i++) LIST::push_back(my_list, i);
  34.     new a, b;
  35.     a = GetTickCount();
  36.     LIST::foreach<my_iterator>(my_list){}
  37.     b = GetTickCount();
  38.     printf(" Speed: %d ms", b-a);
  39.     a = GetTickCount();
  40.     LIST::foreach<my_iterator>(my_list){}
  41.     b = GetTickCount();
  42.     printf(" Speed: %d ms", b-a);
  43.     a = GetTickCount();
  44.     LIST::foreach<my_iterator>(my_list){}
  45.     b = GetTickCount();
  46.     printf(" Speed: %d ms", b-a);
  47.     LIST::clear(my_list);
  48.     return 1;
  49. }
  50.  
  51. public OnFilterScriptExit()
  52. {
  53.     print("\n=============================================");
  54.     print("= Linked lists in PAWN example filterscript =");
  55.     print("=                            Made by BigETI =");
  56.     print("= Unloaded!                                 =");
  57.     print("=============================================\n");
  58.     return 1;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement