{"id":827,"date":"2012-03-14T01:15:38","date_gmt":"2012-03-14T01:15:38","guid":{"rendered":"http:\/\/41j.com\/blog\/?p=827"},"modified":"2012-03-14T01:15:38","modified_gmt":"2012-03-14T01:15:38","slug":"generating-permutations-in-c","status":"publish","type":"post","link":"https:\/\/41j.com\/blog\/2012\/03\/generating-permutations-in-c\/","title":{"rendered":"Generating Permutations in C++"},"content":{"rendered":"<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;vector&gt;\r\n#include &lt;iostream&gt;\r\n\r\nusing namespace std;\r\n\r\nvoid reverse(vector&lt;int&gt; &amp;seq,int n1,int n2) {\r\n\r\n  for(;(n2-n1)&gt;=1;) {\r\n    int temp = seq&#x5B;n1]; seq&#x5B;n1] = seq&#x5B;n2]; seq&#x5B;n2]=temp;\r\n    n1++;\r\n    n2--;\r\n  }\r\n\r\n}\r\n\r\nint main() {\r\n\r\n  int seq_len=4;\r\n\r\n  vector&lt;int&gt; seq;\r\n  for(int n=0;n&lt;seq_len;n++) {seq.push_back(n);}\r\n  for(int n=0;n&lt;seq.size();n++) cout &lt;&lt; seq&#x5B;n] &lt;&lt; &quot; &quot;;\r\n  cout &lt;&lt; endl;\r\n\r\n  for(int n=0;n&lt;seq_len;n++) {\r\n\r\n    for(bool final=false;final==false;) {\r\n\r\n      final=true;\r\n      int k=0;\r\n\r\n      for(int n=0;n&lt;(seq.size()-1);n++) {\r\n        if(seq&#x5B;n] &lt; seq&#x5B;n+1]) {k=n; final=false;}\r\n      }\r\n\r\n      if(!final) {\r\n        int l;\r\n        for(int n=k+1;n&lt;seq.size();n++) {\r\n          if(seq&#x5B;k] &lt; seq&#x5B;n]) {\r\n            l=n;\r\n          }\r\n        }\r\n\r\n        int temp = seq&#x5B;k]; seq&#x5B;k] = seq&#x5B;l]; seq&#x5B;l] = temp;\r\n        reverse(seq,k+1,seq.size()-1);\r\n        for(int n=0;n&lt;seq.size();n++) cout &lt;&lt; seq&#x5B;n] &lt;&lt; &quot; &quot;;\r\n        cout &lt;&lt; endl;\r\n      }\r\n    }\r\n  }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#include &lt;vector&gt; #include &lt;iostream&gt; using namespace std; void reverse(vector&lt;int&gt; &amp;seq,int n1,int n2) { for(;(n2-n1)&gt;=1;) { int temp = seq&#x5B;n1]; seq&#x5B;n1] = seq&#x5B;n2]; seq&#x5B;n2]=temp; n1++; n2&#8211;; } } int main() { int seq_len=4; vector&lt;int&gt; seq; for(int n=0;n&lt;seq_len;n++) {seq.push_back(n);} for(int n=0;n&lt;seq.size();n++) cout &lt;&lt; seq&#x5B;n] &lt;&lt; &quot; &quot;; cout &lt;&lt; endl; for(int n=0;n&lt;seq_len;n++) { for(bool final=false;final==false;) { final=true; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-827","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1RRoU-dl","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/comments?post=827"}],"version-history":[{"count":1,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/827\/revisions"}],"predecessor-version":[{"id":828,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/827\/revisions\/828"}],"wp:attachment":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/media?parent=827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/categories?post=827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/tags?post=827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}