{"id":2714,"date":"2016-12-20T06:00:52","date_gmt":"2016-12-20T04:00:52","guid":{"rendered":"http:\/\/www.glc.us.es\/~jalonso\/exercitium\/?p=2714"},"modified":"2016-12-27T09:01:16","modified_gmt":"2016-12-27T07:01:16","slug":"ordenacion-por-una-columna","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/ordenacion-por-una-columna\/","title":{"rendered":"Ordenaci\u00f3n por una columna"},"content":{"rendered":"<p>Las matrices se pueden representar por listas de lista. Por ejemplo, la matriz<\/p>\n<pre lang=\"text\">\n   |1 2 5| \n   |3 0 7| \n   |9 1 6| \n   |6 4 2|\n<\/pre>\n<p>se puede representar por<\/p>\n<pre lang=\"text\">\n   ej :: [[Int]]\n   ej = [[1,2,5],\n         [3,0,7],\n         [9,1,6],\n         [6,4,2]]\n<\/pre>\n<p>Definir la funci\u00f3n<\/p>\n<pre lang=\"text\">\n   ordenaPor :: Ord a => [[a]] -> Int -> [[a]]\n<\/pre>\n<p>tal que (ordenaPor xss k) es la matriz obtenida ordenando xs por los elementos de la columna k. Por ejemplo,<\/p>\n<pre lang=\"text\">\n   ordenaPor ej 0  ==  [[1,2,5],[3,0,7],[6,4,2],[9,1,6]]\n   ordenaPor ej 1  ==  [[3,0,7],[9,1,6],[1,2,5],[6,4,2]]\n   ordenaPor ej 2  ==  [[6,4,2],[1,2,5],[9,1,6],[3,0,7]]\n<\/pre>\n<h4>Soluciones<\/h4>\n<pre lang=\"haskell\">\nimport Data.List (sort)\n\nej :: [[Int]]\nej = [[1,2,5],\n      [3,0,7],\n      [9,1,6],\n      [6,4,2]]\n\n-- 1\u00aa definici\u00f3n\nordenaPor :: Ord a => [[a]] -> Int -> [[a]]\nordenaPor xss k =\n  map snd (sort [(xs!!k,xs) | xs <- xss])\n\n-- 2\u00aa definici\u00f3n\nordenaPor2 :: Ord a => [[a]] -> Int -> [[a]]\nordenaPor2 xss k =\n  map snd (sort (map (\\xs -> (xs!!k, xs)) xss))\n\n-- 3\u00aa definici\u00f3n\nordenaPor3 :: Ord a => [[a]] -> Int -> [[a]]\nordenaPor3 xss k =\n  map snd (sort [p | p <- zip (map (!!k) xss) xss])\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Las matrices se pueden representar por listas de lista. Por ejemplo, la matriz |1 2 5| |3 0 7| |9 1 6| |6 4 2| se puede representar por ej :: [[Int]] ej = [[1,2,5], [3,0,7], [9,1,6], [6,4,2]] Definir la funci\u00f3n ordenaPor :: Ord a => [[a]] -> Int -> [[a]] tal que (ordenaPor xss&#8230;<\/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,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[4],"tags":[8,10,11,16,14],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2714"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/comments?post=2714"}],"version-history":[{"count":4,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2714\/revisions"}],"predecessor-version":[{"id":2756,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/posts\/2714\/revisions\/2756"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/media?parent=2714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/categories?post=2714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/exercitium\/wp-json\/wp\/v2\/tags?post=2714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}