{"id":2099,"date":"2008-10-14T01:14:05","date_gmt":"2008-10-14T06:14:05","guid":{"rendered":"http:\/\/c0o1.com\/?p=2099"},"modified":"2008-10-14T01:14:05","modified_gmt":"2008-10-14T06:14:05","slug":"random-sort","status":"publish","type":"post","link":"https:\/\/paginasrandom.com\/jos\/random-sort\/","title":{"rendered":"Random Sort"},"content":{"rendered":"<p>\/\/De Jos, un algoritmo que desde hace rato queria hacer<br \/>\n\/\/No es el mas eficiente, pero si el mas sin sentido&#8230;<\/p>\n<p>\/*&#8221;Un solo Shakespeare con pluma, tinta y papel jam\u00e1s igualar\u00e1 la producci\u00f3n de infinitos monos con infinitos procesadores de texto.&#8221;*\/<\/p>\n<p>\/\/Son estas las librerias para consolar<br \/>\n#include&lt;iostream.h&gt; \/\/las que van de entrada por salida<br \/>\n#include&lt;stdlib.h&gt; \/\/las europeas estandar<\/p>\n<p>\/\/librerias para el azar<br \/>\n#include&lt;time.h&gt; \/\/el que es dinero.<br \/>\n#define randomize()(srand(time(0))) \/\/aleatorizar<br \/>\n#define random(x)(rand()% x) \/\/equis cantidad<\/p>\n<p>int cantidad = 10; \/\/aquellos dispuestos a ser ordenados<br \/>\nint *num = new int[cantidad]; \/\/con cada new, un gatito muere<br \/>\nvoid swap(); \/\/la denominada funcion del suapeo<br \/>\nint azar1; \/\/azar1, que bien pudo haberse llamado azar27<br \/>\nint azar2; \/\/como el de arriba pero totalmente distinto<br \/>\nint azar1anterior; \/\/para guardar su recuerdo<br \/>\nint azar2anterior; \/\/para seguir la costumbre<\/p>\n<p>\/*recorre el desbarajuste para corroborar que se hizo lo que se tenia que hacer*\/<br \/>\nvoid imprimir()<br \/>\n{<br \/>\nfor (int x=0; x&lt;cantidad; x++)<br \/>\n{<br \/>\ncout &lt;&lt; num[x] &lt;&lt; &#8221; &#8220;; \/\/equis del desbarajuste saliendo a relucir<br \/>\n}<br \/>\n}<\/p>\n<p>void llenar() \/\/puros inventos<br \/>\n{<br \/>\nint azaroso; \/\/el desdichado mutante<\/p>\n<p>randomize(); \/\/agarra una fichita y la menea bien sabroso<br \/>\nfor (int x=0; x&lt;cantidad; x++)<br \/>\n{<br \/>\nazaroso = random(cantidad); \/\/le mete al azaroso un revoltoso<br \/>\nnum[x] = azaroso; \/\/y al desbarajuste lo que salio<br \/>\n}<\/p>\n<p>}<\/p>\n<p>void ordenar() \/\/para poner orden<br \/>\n{<br \/>\nint flag=1; \/\/semaforo en siga<\/p>\n<p>while(flag!=0) \/\/mientras que no se ponga en rojo el susodicho<br \/>\n{<br \/>\nflag = 0; \/\/stoooop<\/p>\n<p>for(int a=0; a&lt;cantidad-1; a++)<br \/>\n{<br \/>\nif(num[a]&gt;num[a+1]) \/\/si es desbarajuste esta desbarajustado<br \/>\n{<br \/>\nflag=1; \/\/lo ponemos en verde<br \/>\n}<br \/>\n}<\/p>\n<p>if(flag==1) \/\/si nos pasamos un alto&#8230; pero no.<br \/>\n{<br \/>\n\/*llamamos a intercambiar quien sabe que por quien sabe cual*\/<br \/>\nswap();<br \/>\n}<br \/>\n}<\/p>\n<p>}<\/p>\n<p>void swap() \/\/esta es la que switchea el embrollo<br \/>\n{<br \/>\nint temp; \/\/temporizador de tiempo espacio<br \/>\nint tempazar1; \/\/como el de arriba pero mas chido<br \/>\nint tempazar2; \/\/y en pasado<\/p>\n<p>\/*guardamos al azar27 en el que es como el de mas arriba pero mas chido*\/<br \/>\ntempazar1 = azar1;<\/p>\n<p>\/\/si esta mas repetido que el pasado&#8230;<br \/>\nwhile(tempazar1==azar1 || azar1 == azar2anterior)<br \/>\n{<br \/>\nazar1 = random(cantidad); \/\/agarrate uno nuevecito de paquete<br \/>\n}<\/p>\n<p>tempazar2 = azar2; \/\/lo mismo pero mas barato<\/p>\n<p>while(azar2==azar1 || azar2 == azar1anterior) \/\/2&#215;1<br \/>\n{<br \/>\nazar2 = random(cantidad); \/\/4&#215;3<br \/>\n}<\/p>\n<p>temp = num[azar1]; \/\/aqui esta el mero swapeo<br \/>\nnum[azar1] = num[azar2]; \/\/el mero merengal<br \/>\nnum[azar2] = temp; \/\/de los switcheos<\/p>\n<p>azar1anterior = azar1; \/\/aqui nomas guardando el pasado<br \/>\nazar2anterior = azar2; \/\/para futuras generaciones<br \/>\n}<\/p>\n<p>void main() \/\/principio y fin del universo<br \/>\n{<br \/>\nazar1=0; \/\/inicializacion de los desbarajustadores<br \/>\nazar2=1; \/\/0, 1, 2, 3<br \/>\nazar1anterior=2; \/\/o sea que el desbarajuste solo jala dea4<br \/>\nazar2anterior=3; \/\/para arriba<\/p>\n<p>llenar(); \/\/quien lo manda al relleno<br \/>\nordenar(); \/\/quien lo manda a la ordenaci\u00f3n ordenamentada<\/p>\n<p>imprimir(); \/\/pa visualizar<\/p>\n<p>delete [] num; \/\/y para no llenar de quien sabe que<br \/>\nnum = NULL; \/\/y de quien sabe como&#8230;<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/\/De Jos, un algoritmo que desde hace rato queria hacer \/\/No es el mas eficiente, pero si el mas sin sentido&#8230; \/*&#8221;Un solo Shakespeare con pluma, tinta y papel jam\u00e1s igualar\u00e1 la producci\u00f3n de infinitos monos con infinitos procesadores de texto.&#8221;*\/ \/\/Son estas las librerias para consolar #include&lt;iostream.h&gt; \/\/las que van de entrada por salida [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-2099","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/posts\/2099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/comments?post=2099"}],"version-history":[{"count":0,"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/posts\/2099\/revisions"}],"wp:attachment":[{"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/media?parent=2099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/categories?post=2099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/paginasrandom.com\/jos\/wp-json\/wp\/v2\/tags?post=2099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}