{"id":145,"date":"2016-03-19T12:39:52","date_gmt":"2016-03-19T11:39:52","guid":{"rendered":"https:\/\/solidt.eu\/blog\/?p=145"},"modified":"2016-03-19T13:07:20","modified_gmt":"2016-03-19T12:07:20","slug":"c-qsort-usage-example","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/c-qsort-usage-example\/","title":{"rendered":"C++ qsort usage example"},"content":{"rendered":"<pre lang=\"c++\">\r\n#include <stdlib.h>\r\n#include <iostream>\r\n#include <string.h>\r\n\r\nusing namespace std;\r\n\r\nint compareStr(const void* a, const void* b)\r\n{\r\n    return strcasecmp(*(const char **)a, *(const char **)b);\r\n}\r\n\r\nint random(int max)\r\n{\r\n    return rand() % max;\r\n}\r\n\r\nchar* genRandom()\r\n{\r\n    const char* randomChars = \"0123456789abcdefghijklmnopqrstuvwqyzABCDEFGHIJKLMNOPQRSTUVWQYZ\";\r\n    int s = random(10)+4;\r\n    char* result = (char*)malloc(sizeof(char)*(s+1));\r\n    for(int i=0;i<s;i++)\r\n        result[i] = randomChars[random(26+26+10)];\r\n    result[s] = 0;\r\n    return result;\r\n}\r\n\r\nint main(int argc, char** argv)\r\n{\r\n    for(int i=0;i<argc;i++)\r\n        cout << argv[i] << endl;\r\n\r\n    int lc = 200;\r\n    const char** myStrlist = (const char**)malloc(sizeof(const char**)*lc);\r\n\r\n    for(int i=0;i<lc;i++)\r\n        myStrlist[i] = genRandom();\r\n\r\n    for(int i=0;i<lc;i++)\r\n        cout << myStrlist[i] << endl;\r\n\r\n    cout << endl;\r\n\r\n    qsort(myStrlist, lc, sizeof(const char**), compareStr);\r\n\r\n    for(int i=0;i<lc;i++)\r\n        cout << myStrlist[i] << endl;\r\n\r\n\r\n    for(int i=0;i<lc;i++)\r\n        free((void*)myStrlist[i]);\r\n\r\n    free(myStrlist);\r\n\r\n    return 0;\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#include #include #include using namespace std; int compareStr(const void* a, const void* b) { return strcasecmp(*(const char **)a, *(const char **)b); } int random(int max) { return rand() % max; } char* genRandom() { const char* randomChars = &#8220;0123456789abcdefghijklmnopqrstuvwqyzABCDEFGHIJKLMNOPQRSTUVWQYZ&#8221;; int s = random(10)+4; char* result = (char*)malloc(sizeof(char)*(s+1)); for(int i=0;i<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-145","post","type-post","status-publish","format-standard","hentry","category-other-scripts"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=145"}],"version-history":[{"count":2,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/145\/revisions"}],"predecessor-version":[{"id":147,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/145\/revisions\/147"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}