{"id":4490,"date":"2022-08-23T03:04:30","date_gmt":"2022-08-22T21:34:30","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/"},"modified":"2022-08-23T03:04:30","modified_gmt":"2022-08-22T21:34:30","slug":"solved-using-stdsort-to-sort-an-array-of-c-strings","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/","title":{"rendered":"[Solved] Using std::sort to sort an array of C strings"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-28213826\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"28213826\" data-parentid=\"28213100\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/en.cppreference.com\/w\/cpp\/algorithm\/sort\">std::sort<\/a>: The comparison object expected by it has to return \u200btrue if the first argument is less than (i.e. is ordered before) the second. <\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/en.cppreference.com\/w\/cpp\/string\/byte\/strcmp\">strcmp<\/a>, the function you provided has another return convention:<\/p>\n<ul>\n<li>Negative value if lhs is less than rhs.<\/li>\n<li>\u200b0\u200b if lhs is equal to rhs.<\/li>\n<li>Positive value if lhs is greater than rhs.<\/li>\n<\/ul>\n<p><sub>(here lhs and rhs reffer to left hand operator and right hand operator)<\/sub><\/p>\n<p>So you have to create your own wrapper function around strcmp.<\/p>\n<p>If you could use c++11 and if you could use c++ for real (i.e. <code>std::string<\/code> and <code>std::vector<\/code>) you can use other cool tricks like lambdas.<\/p>\n<hr>\n<p>The classic solution:<\/p>\n<pre><code>bool cmp(char const *lhs, char const *rhs) {\n  return strcmp(lhs, rhs) &lt; 0;\n}\n\nstd::sort(tab, tab + n, cmp);\n<\/code><\/pre>\n<p>The lambda solution:<\/p>\n<pre><code>std::sort(tab, tab + n, [](char const *lhs,\n                           char const *rhs) { return strcmp(lhs, rhs) &lt; 0; });\n<\/code><\/pre>\n<p>The real C++ solution<\/p>\n<pre><code>std::vector&lt;std::string&gt; v = ...;\n\nstd::sort(std::begin(v), std::end(b));\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Using std::sort to sort an array of C strings <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] std::sort: The comparison object expected by it has to return \u200btrue if the first argument is less than (i.e. is ordered before) the second. strcmp, the function you provided has another return convention: Negative value if lhs is less than rhs. \u200b0\u200b if lhs is equal to rhs. Positive value if lhs is greater &#8230; <a title=\"[Solved] Using std::sort to sort an array of C strings\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/\" aria-label=\"More on [Solved] Using std::sort to sort an array of C strings\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[361,324,561],"class_list":["post-4490","post","type-post","status-publish","format-standard","hentry","category-solved","tag-arrays","tag-c","tag-sorting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Using std::sort to sort an array of C strings - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Using std::sort to sort an array of C strings - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] std::sort: The comparison object expected by it has to return \u200btrue if the first argument is less than (i.e. is ordered before) the second. strcmp, the function you provided has another return convention: Negative value if lhs is less than rhs. \u200b0\u200b if lhs is equal to rhs. Positive value if lhs is greater ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-22T21:34:30+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Using std::sort to sort an array of C strings\",\"datePublished\":\"2022-08-22T21:34:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/\"},\"wordCount\":139,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"arrays\",\"c++\",\"sorting\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/\",\"name\":\"[Solved] Using std::sort to sort an array of C strings - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-08-22T21:34:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-using-stdsort-to-sort-an-array-of-c-strings\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Using std::sort to sort an array of C strings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1778218008\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1778218008\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1778218008\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Using std::sort to sort an array of C strings - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Using std::sort to sort an array of C strings - JassWeb","og_description":"[ad_1] std::sort: The comparison object expected by it has to return \u200btrue if the first argument is less than (i.e. is ordered before) the second. strcmp, the function you provided has another return convention: Negative value if lhs is less than rhs. \u200b0\u200b if lhs is equal to rhs. Positive value if lhs is greater ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/","og_site_name":"JassWeb","article_published_time":"2022-08-22T21:34:30+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Using std::sort to sort an array of C strings","datePublished":"2022-08-22T21:34:30+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/"},"wordCount":139,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["arrays","c++","sorting"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/","url":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/","name":"[Solved] Using std::sort to sort an array of C strings - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-22T21:34:30+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-using-stdsort-to-sort-an-array-of-c-strings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Using std::sort to sort an array of C strings"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1778218008","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1778218008","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1778218008","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/4490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=4490"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/4490\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=4490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=4490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=4490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}