C语言算法
文章平均质量分 90
南山府嵌入式
专注于嵌入式知识分享
展开
-
C语言算法--快速排序法
Lomuto分区是一种用于快速排序算法的分区方法,由C.A.R. Hoare的经典分区方法之一。Lomuto分区算法的实现相对简单,但在某些情况下效率稍低。选择一个基准元素。通常情况下,选择数组的最后一个元素作为基准元素。遍历数组,将小于等于基准元素的元素放在数组的左边,并维护一个指针(称为分区指针),指向当前小于等于基准元素的位置。遍历结束后,将基准元素放在分区指针的下一个位置,即将基准元素放在正确的位置上。分区指针左边的元素都小于等于基准元素,右边的元素都大于基准元素。原创 2023-05-18 16:07:00 · 4373 阅读 · 2 评论 -
C语言算法--桶排序
什么是桶排序法?其实说白了就是把需要排列的元素分到不同的桶中,然后我们对这些桶里的元素进行排序的一种方式,然后我们在根据桶的顺序进行元素的合并。(不过前提是要确定桶的数量以及大小)按照稍微正式的说法是:桶排序法是一种基于计数的排序算法。它的基本思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是排好序的序列。具体实现时,首先确定桶的个数和每个桶所能容纳数据的范围,然后遍历待排序数据,将每个数据放入对应的桶中。原创 2023-05-18 23:26:19 · 959 阅读 · 0 评论 -
C语言算法--冒泡排序
冒泡排序是一种简单的排序算法,它通过比较相邻元素的大小,并根据需要交换它们的位置来排序数据。它的名称来自于越小的元素会慢慢“冒泡”到数组的开头。冒泡排序的基本思想是从数组的第一个元素开始,依次比较相邻的两个元素的大小,并根据需要进行交换,使较大的元素逐渐向数组的末尾移动。在一次遍历中,最大的元素会被交换到数组的最后一个位置。然后,再进行下一次遍历,但这次只需比较到倒数第二个元素,依次类推。每次遍历都会将当前未排序的最大元素放置到正确的位置。原创 2023-05-18 15:59:22 · 1878 阅读 · 0 评论