目錄
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.簡介
經過前面的學習,我們已經學會了數組遍歷,在開發中,我們經常回碰到對數組進行排序,例如:學習成績排序,身高排序,年齡排序等等;在 C
語言中常見的數組排序一共有四種:
二.數組冒泡法排序原理
將數組中的相鄰兩個元素進行比較,將比較大(較小)的數通過兩兩比較移動到數組末尾(開始),執行一遍內層循環,確定一個最大(最小)的數,外層循環從數組末尾(開始)遍歷到開始(末尾);
通俗的講,就是兩兩比較,先找到數組中的最大值或者最小值,放到數組末尾,然后再重頭開始找到數組中的第二大值或者第二小值,再重頭開始找到數組中的第三大值或者第三小值……
三.數組冒泡法排序實戰
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 數組排序 – 冒泡法排序
//@Time:2021/06/08 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/
#include<stdlib.h>
#include<stdio.h>
void main()
{
int a[5] = { 12, 19, 2 , 993, -34 };
int len = sizeof(a) / sizeof(int);
//遍歷排序之前的數組
for (int i = 0; i < len; i++)
{
printf("排序之前:index:%d value:%d\n", i, a[i]);
}
//冒泡法排序
for (int i = 0;i<len;i++)
{
for (int j = i+1;j<len;j++)
{
//將小值放最前面
if (a[i] > a[j])
{
//交換兩個數組的值
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("-----------------------------------\n");
//遍歷排序之后的數組
for (int i = 0;i<len;i++)
{
printf("排序之后:index:%d value:%d\n", i, a[i]);
}
system("pause");
}
/*
輸出結果:
排序之前:index:0 value:12
排序之前:index:1 value:19
排序之前:index:2 value:2
排序之前:index:3 value:993
排序之前:index:4 value:-34
-----------------------------------
排序之后:index:0 value:-34
排序之后:index:1 value:2
排序之后:index:2 value:12
排序之后:index:3 value:19
排序之后:index:4 value:993
請按任意鍵繼續. . .
*/
四.猜你喜歡
- 安裝 Visual Studio
- 安裝 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸載
- Visual Studio 2003/2015 卸載
- C 語言格式控制符/占位符
- C 語言邏輯運算符
- C 語言三目運算符
- C 語言逗號表達式
- C 語言 for 循環
- C 語言 while 循環
- C 語言 do while 和 while 循環
- C 語言 switch 語句
- C 語言 goto 語句
- C 語言 char 字符串
- C 語言 sizeof 和 strlen 函數區別
- C 語言 strcpy 和 strcpy_s 函數區別
- C 語言 memcpy 和 memcpy_s 區別
- C 語言 數組定義和使用
- C 語言 數組遍歷
- C 語言 數組排序 – 冒泡法排序
未經允許不得轉載:猿說編程 » C 語言 數組排序 – 冒泡法排序
本文由博客 - 猿說編程 猿說編程 發布!