首頁 後端開發 C#.Net教程 c語言冒泡排序怎樣實現從大到小

c語言冒泡排序怎樣實現從大到小

Jun 08, 2020 pm 05:38 PM
冒泡排序

c語言冒泡排序怎樣實現從大到小

c語言冒泡排序怎麼實現從大到小?

c語言冒泡排序的方法:

先選定第一個數字為最大再對數字兩兩進行比較,得到兩者之間的最大值,依序比較。具體程式碼實作如下:

#include <iostream>
#include <time.h>
using namespace std;
void srandData(int *, int );//产生随机数的函数
void bubbleSort(int *, int );//冒泡排序具体实现函数
void swap(int *, int *);//两个数字实现交换的函数
void display(int *, int );//在屏幕输出结果函数
int main()
{
const int N = 10;//定义常数
int arr[N];//定义数组
srandData(arr, N);
bubbleSort(arr, N);
display(arr, N);
return 0;
}
void srandData(int *a, int n)
{
srand(time(NULL));
for(int i = 0; i < n; i++)
{
a[i] = rand() % 50;//取50以下的数字
cout << a[i] << " ";
}
cout << endl;
}
void swap(int *b, int *c)
{
int temp = *c;
*c = *b;
*b = temp;
}
void bubbleSort(int *a, int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n - i - 1; j++)
{
if(a[j] < a[j + 1])
{
swap(&a[j], &a[j + 1]);//两者交换
}
}
}
}
void display(int *d, int n)
{
for(int i = 0; i < n; i++)
{
cout << d[i] << " ";
}
cout << endl;
}
登入後複製

推薦教學: 《C影片教學

以上是c語言冒泡排序怎樣實現從大到小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
Java資料結構與演算法:深入詳解 Java資料結構與演算法:深入詳解 May 08, 2024 pm 10:12 PM

資料結構與演算法是Java開發的基礎,本文深入探討Java中的關鍵資料結構(如陣列、鍊錶、樹等)和演算法(如排序、搜尋、圖演算法等)。這些結構透過實戰案例進行說明,包括使用陣列儲存分數、使用鍊錶管理購物清單、使用堆疊實現遞歸、使用佇列同步執行緒以及使用樹和雜湊表進行快速搜尋和身份驗證等。理解這些概念可以編寫高效且可維護的Java程式碼。

用 C++ 函數指標改造程式碼:提升效率和可重複使用性 用 C++ 函數指標改造程式碼:提升效率和可重複使用性 Apr 29, 2024 pm 06:45 PM

函數指標技術可提升程式碼效率和可重複使用性,具體表現為:提升效率:使用函數指標可減少重複程式碼,優化呼叫過程。提高可重複使用性:函數指標允許使用通用函數處理不同數據,提高程式的可重複使用性。

PHP 數組自訂排序演算法的編寫指南 PHP 數組自訂排序演算法的編寫指南 Apr 27, 2024 pm 06:12 PM

如何寫自訂PHP數組排序演算法?冒泡排序:透過比較和交換相鄰元素來排序數組。選擇排序:每次選擇最小或最大元素並與目前位置交換。插入排序:逐一插入元素到有序部分。

如何實作C#中的冒泡排序演算法 如何實作C#中的冒泡排序演算法 Sep 19, 2023 am 11:10 AM

如何實作C#中的冒泡排序演算法冒泡排序是一種簡單但有效的排序演算法,它透過多次比較相鄰的元素並交換位置來排列一個陣列。在本文中,我們將介紹如何使用C#語言實作冒泡排序演算法,並提供具體的程式碼範例。首先,讓我們來了解冒泡排序的基本原理。演算法從數組的第一個元素開始,與下一個元素進行比較。如果當前元素比下一個元素大,則交換它們的位置;如果當前元素比下一個元素小,則保持

各種 PHP 數組排序演算法的複雜度分析 各種 PHP 數組排序演算法的複雜度分析 Apr 27, 2024 am 09:03 AM

PHP陣列排序演算法複雜度:冒泡排序:O(n^2)快速排序:O(nlogn)(平均)歸併排序:O(nlogn)

分析 Go 語言中的時間複雜度與空間複雜度 分析 Go 語言中的時間複雜度與空間複雜度 Mar 27, 2024 am 09:24 AM

Go語言是一種越來越流行的程式語言,它被設計成易於編寫、易於閱讀和易於維護的語言,同時也支援高階程式設計概念。時間複雜度和空間複雜度是演算法和資料結構分析中重要的概念,它們衡量一個程式的執行效率和占用記憶體大小。在本文中,我們將重點分析Go語言中的時間複雜度和空間複雜度。時間複雜度時間複雜度是指演算法執行時間與問題規模之間的關係。通常用大O表示法來表示時間

Java資料結構與演算法:雲端運算實戰指南 Java資料結構與演算法:雲端運算實戰指南 May 09, 2024 am 08:12 AM

雲端運算中資料結構和演算法的使用至關重要,用於管理和處理大量資料。常見的資料結構包括數組、列表、哈希表、樹和圖。常用的演算法有排序演算法、搜尋演算法和圖演算法。利用Java的強大功能,開發者可以使用Java集合、執行緒安全資料結構和ApacheCommonsCollections來實作這些資料結構和演算法。

CS-第 3 週 CS-第 3 週 Apr 04, 2025 am 06:06 AM

算法是解決問題的指令集,其執行速度和內存佔用各不相同。編程中,許多算法都基於數據搜索和排序。本文將介紹幾種數據檢索和排序算法。線性搜索假設有一個數組[20,500,10,5,100,1,50],需要查找數字50。線性搜索算法會逐個檢查數組中的每個元素,直到找到目標值或遍歷完整個數組。算法流程圖如下:線性搜索的偽代碼如下:檢查每個元素:如果找到目標值:返回true返回falseC語言實現:#include#includeintmain(void){i

See all articles