Rumah> masalah biasa> teks badan

冒泡排序算法代码

hzc
Lepaskan: 2020-07-02 16:20:01
asal
3273 orang telah melayarinya

冒泡排序,是一种计算机科学领域的较简单的排序算法,它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序【如从大到小、首字母从Z到A】错误就把他们交换过来。

冒泡排序算法代码

void vBubbleSort(int arr[], int len){ int i, j, temp; for (j = 0; j < len - 1; j++){ //每次最大元素就像气泡一样"浮"到数组的最后 for (i = 0; i < len - 1 - j; i++){ //依次比较相邻的两个元素,使较大的那个向后移 if(arr[i] > arr[i + 1]){ //交换两个数 temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } } } } void vBubbleSortChange(int arr[], int len){ int i,j,temp; int swapped = 1; for (j = 0; swapped; j++){ //每次最大元素就像气泡一样"浮"到数组的最后 swapped = 0; for (i = 0; i < len - 1 - j; i++){ //依次比较相邻的两个元素,使较大的那个向后移 if(arr[i] > arr[i + 1]){ //交换两个数 temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; swapped = 1; } } // if( swapped == 0) {j = len-1;}//如果没有元素交换,说明序列是顺序的,退出循环 } } void vCockTailSort(int arr[],int len){ int tmp,i,left=0,right = len-1; while(left < right){ for(i=left;iarr[i+1]){ tmp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = tmp; } } right--; for(i=right;i>left;i--){//反向冒泡,确定最小值 if(arr[i]arr[i+1]){ tmp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = tmp; swapped = 1; bound = i; } } right=bound;//缩小遍历边界 for(i=right;i>left;i--){//反向冒泡,确定最小值 if(arr[i]
        
Salin selepas log masuk

Atas ialah kandungan terperinci 冒泡排序算法代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!