[{"data":1,"prerenderedAt":275},["ShallowReactive",2],{"post-algorithm-learning-002-sort":3,"home":253},{"id":4,"title":5,"body":6,"date":242,"description":243,"extension":244,"meta":245,"navigation":246,"path":247,"seo":248,"stem":249,"tags":250,"__hash__":252},"blog\u002Fblog\u002Falgorithm-learning-002-sort.md","排序",{"type":7,"value":8,"toc":237},"minimark",[9,13,26,110,113,124,174,177,188,229,233],[10,11,12],"h2",{"id":12},"选择排序",[14,15,16,20,23],"ul",{},[17,18,19],"li",{},"0到n-1，选最小值放0位置",[17,21,22],{},"1到n-1，选最小值放1位置",[17,24,25],{},"i到n-1，选最小值放i位置",[27,28,33],"pre",{"className":29,"code":30,"language":31,"meta":32,"style":32},"language-cpp shiki shiki-themes github-light github-dark","void select_sort(std::vector\u003Cint> &nums) {\n  int n = nums.size();\n  for(int i = 0; i \u003C n - 1; ++i) {\n    int k = i;\n    for(int j = i + 1; j \u003C n; ++j) {\n      if(nums[j] \u003C nums[k]) {\n        k = j;\n      }\n    }\n    std::swap(nums[i], nums[k]);\n  }\n}\n","cpp","",[34,35,36,44,50,56,62,68,74,80,86,92,98,104],"code",{"__ignoreMap":32},[37,38,41],"span",{"class":39,"line":40},"line",1,[37,42,43],{},"void select_sort(std::vector\u003Cint> &nums) {\n",[37,45,47],{"class":39,"line":46},2,[37,48,49],{},"  int n = nums.size();\n",[37,51,53],{"class":39,"line":52},3,[37,54,55],{},"  for(int i = 0; i \u003C n - 1; ++i) {\n",[37,57,59],{"class":39,"line":58},4,[37,60,61],{},"    int k = i;\n",[37,63,65],{"class":39,"line":64},5,[37,66,67],{},"    for(int j = i + 1; j \u003C n; ++j) {\n",[37,69,71],{"class":39,"line":70},6,[37,72,73],{},"      if(nums[j] \u003C nums[k]) {\n",[37,75,77],{"class":39,"line":76},7,[37,78,79],{},"        k = j;\n",[37,81,83],{"class":39,"line":82},8,[37,84,85],{},"      }\n",[37,87,89],{"class":39,"line":88},9,[37,90,91],{},"    }\n",[37,93,95],{"class":39,"line":94},10,[37,96,97],{},"    std::swap(nums[i], nums[k]);\n",[37,99,101],{"class":39,"line":100},11,[37,102,103],{},"  }\n",[37,105,107],{"class":39,"line":106},12,[37,108,109],{},"}\n",[10,111,112],{"id":112},"冒泡排序",[14,114,115,118,121],{},[17,116,117],{},"0到n-1，最大值冒到n-1",[17,119,120],{},"0到n-2，最大值冒到n-2",[17,122,123],{},"0到i，最大值冒到i",[27,125,127],{"className":29,"code":126,"language":31,"meta":32,"style":32},"void bubble_sort(std::vector\u003Cint> &nums) {\n  int n = nums.size();\n  for(int i = n - 1; i > 0; --i) {\n    for(int j = 0; j \u003C i; ++j) {\n      if(nums[j] > nums[j+1]) {\n        std::swap(nums[j], nums[j+1]);\n      }\n    }\n  }\n}\n",[34,128,129,134,138,143,148,153,158,162,166,170],{"__ignoreMap":32},[37,130,131],{"class":39,"line":40},[37,132,133],{},"void bubble_sort(std::vector\u003Cint> &nums) {\n",[37,135,136],{"class":39,"line":46},[37,137,49],{},[37,139,140],{"class":39,"line":52},[37,141,142],{},"  for(int i = n - 1; i > 0; --i) {\n",[37,144,145],{"class":39,"line":58},[37,146,147],{},"    for(int j = 0; j \u003C i; ++j) {\n",[37,149,150],{"class":39,"line":64},[37,151,152],{},"      if(nums[j] > nums[j+1]) {\n",[37,154,155],{"class":39,"line":70},[37,156,157],{},"        std::swap(nums[j], nums[j+1]);\n",[37,159,160],{"class":39,"line":76},[37,161,85],{},[37,163,164],{"class":39,"line":82},[37,165,91],{},[37,167,168],{"class":39,"line":88},[37,169,103],{},[37,171,172],{"class":39,"line":94},[37,173,109],{},[10,175,176],{"id":176},"插入排序",[14,178,179,182,185],{},[17,180,181],{},"0到0有序，1位置往左插入",[17,183,184],{},"0到1有序，2位置往左插入",[17,186,187],{},"0到i-1有序，i位置往左插入",[27,189,191],{"className":29,"code":190,"language":31,"meta":32,"style":32},"void insert_sort(std::vector\u003Cint> &nums) {\n  int n = nums.size();\n  for(int i = 1; i \u003C n; ++i) {\n    for(int j = i - 1; j >= 0 && nums[j] > nums[j+1]; --j) {\n      std::swap(nums[j], nums[j+1]);\n    }\n  }\n}\n",[34,192,193,198,202,207,212,217,221,225],{"__ignoreMap":32},[37,194,195],{"class":39,"line":40},[37,196,197],{},"void insert_sort(std::vector\u003Cint> &nums) {\n",[37,199,200],{"class":39,"line":46},[37,201,49],{},[37,203,204],{"class":39,"line":52},[37,205,206],{},"  for(int i = 1; i \u003C n; ++i) {\n",[37,208,209],{"class":39,"line":58},[37,210,211],{},"    for(int j = i - 1; j >= 0 && nums[j] > nums[j+1]; --j) {\n",[37,213,214],{"class":39,"line":64},[37,215,216],{},"      std::swap(nums[j], nums[j+1]);\n",[37,218,219],{"class":39,"line":70},[37,220,91],{},[37,222,223],{"class":39,"line":76},[37,224,103],{},[37,226,227],{"class":39,"line":82},[37,228,109],{},[230,231,232],"p",{},"待续...",[234,235,236],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":32,"searchDepth":46,"depth":46,"links":238},[239,240,241],{"id":12,"depth":46,"text":12},{"id":112,"depth":46,"text":112},{"id":176,"depth":46,"text":176},"2025-11-26","笔记","md",{},true,"\u002Fblog\u002Falgorithm-learning-002-sort",{"title":5,"description":243},"blog\u002Falgorithm-learning-002-sort",[251],"算法","DTZFXPn4WahM1DB2nkLICcRHxnWMamd5L57ftEOdLjY",{"id":254,"title":255,"avatar":256,"body":257,"description":261,"extension":244,"meta":262,"name":264,"navigation":246,"path":265,"seo":266,"social":267,"stem":273,"__hash__":274},"home\u002Fhome.md","Home","https:\u002F\u002Fstarrobe-blog.oss-cn-beijing.aliyuncs.com\u002Favatar\u002Fjashinchan.jpg",{"type":7,"value":258,"toc":259},[],{"title":32,"searchDepth":46,"depth":46,"links":260},[],"Programming enthusiast, maybe.",{"layout":263},"page","阿东","\u002Fhome",{"title":255,"description":261},{"github":268,"email":269,"bilibili":270,"qq":271,"rss":272},"https:\u002F\u002Fgithub.com\u002Fstarrobe","mailto:starrobe@163.com","https:\u002F\u002Fspace.bilibili.com\u002F382631863","tencent:\u002F\u002Fmessage\u002F?uin=2604335528","\u002Ffeed.xml","home","XHOrpn2fXb8x87SMsqZTGaANCESyH9qV8TDm8rnQewI",1777128585657]