前言
本文介绍基础的冒泡排序、直接插入排序、选择排序、快速排序。
供初学者学习。大佬止步,怕浪费你时间。
大白话注释。
如有疑问,欢迎留言。
一、冒泡排序
冒泡排序代码
#include <stdio.h>
void Bull_Sort(int *arr, int n);
void swap(int *arr, int x, int y);
int main(void) {
int arr[14] = {
1, 6, 3, 8, 9, 2, 5, 7, 0, 111, 777, 98,2,3};
int len = sizeof(arr) / sizeof(*arr);//计算数组中元素个数的方法(数组中所有元素的字节数/单个元素的字节数)
Bull_Sort(arr, len);
for(int i = 0; i < len; i++)
{
printf("%d.\n", arr[i]);
}
}
void Bull_Sort(int *arr, int n) {
for(int i = 0; i < n - 1; i++) //总共有n个元素,除开用来比较的数.咋们需要进行n-1次比较
{
for(int j = 0; j < n-1-i; j++)//由剩余元素的数量决定(每循环比较一次,就能选出一个最大的数,排在最后.当循环比较三次之后,剩下元素数量就是n-1-3个).
{
if(arr[j] > arr[j+1])