Home Common Problem Bubble sort algorithm code

Bubble sort algorithm code

Jul 02, 2020 pm 04:20 PM
Bubble Sort

Bubble sorting is a relatively simple sorting algorithm in the field of computer science. It repeatedly visits the column of elements to be sorted and compares two adjacent elements in sequence. If the order [such as from large to Small, initials from Z to A] If you make a mistake, swap them over.

Bubble sort algorithm code

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;i<right;i++){//正向冒泡,确定最大值
            if(arr[i]>arr[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;
            }
        }
        left++;
    }
}
void vCockTailSortChange(int arr[],int len){
    int tmp,i,left=0,right = len-1;
    int swapped = 1;
    int bound = 0;//记录某趟遍历的最后一次交换元素的位置,优化减少循环次数
    while(swapped){//如果没有元素交换,说明序列是顺序的
        swapped = 0;
        for(i=left;i<right;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]<arr[i-1]){
                tmp = arr[i];
                arr[i] = arr[i-1];
                arr[i-1] = tmp;
                swapped = 1;
                bound = i;
            }
        }
        left=bound;//缩小遍历边界
    }
}
Copy after login

The above is the detailed content of Bubble sort algorithm code. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1253
24
Java data structures and algorithms: in-depth explanation Java data structures and algorithms: in-depth explanation May 08, 2024 pm 10:12 PM

Data structures and algorithms are the basis of Java development. This article deeply explores the key data structures (such as arrays, linked lists, trees, etc.) and algorithms (such as sorting, search, graph algorithms, etc.) in Java. These structures are illustrated through practical examples, including using arrays to store scores, linked lists to manage shopping lists, stacks to implement recursion, queues to synchronize threads, and trees and hash tables for fast search and authentication. Understanding these concepts allows you to write efficient and maintainable Java code.

Transform code with C++ function pointers: improve efficiency and reusability Transform code with C++ function pointers: improve efficiency and reusability Apr 29, 2024 pm 06:45 PM

Function pointer technology can improve code efficiency and reusability, specifically as follows: Improved efficiency: Using function pointers can reduce repeated code and optimize the calling process. Improve reusability: Function pointers allow the use of general functions to process different data, improving program reusability.

Guide to writing a custom sorting algorithm for PHP arrays Guide to writing a custom sorting algorithm for PHP arrays Apr 27, 2024 pm 06:12 PM

How to write a custom PHP array sorting algorithm? Bubble sort: Sorts an array by comparing and exchanging adjacent elements. Selection sort: Select the smallest or largest element each time and swap it with the current position. Insertion sort: Insert elements one by one into the sorted part.

Analyze time complexity and space complexity in Go language Analyze time complexity and space complexity in Go language Mar 27, 2024 am 09:24 AM

Go is an increasingly popular programming language that is designed to be easy to write, easy to read, and easy to maintain, while also supporting advanced programming concepts. Time complexity and space complexity are important concepts in algorithm and data structure analysis. They measure the execution efficiency and memory size of a program. In this article, we will focus on analyzing the time complexity and space complexity in the Go language. Time Complexity Time complexity refers to the relationship between the execution time of an algorithm and the size of the problem. Time is usually expressed in Big O notation

How to implement bubble sort algorithm in C# How to implement bubble sort algorithm in C# Sep 19, 2023 am 11:10 AM

How to implement the bubble sort algorithm in C# Bubble sort is a simple but effective sorting algorithm that arranges an array by comparing adjacent elements multiple times and exchanging positions. In this article, we will introduce how to implement the bubble sort algorithm using C# language and provide specific code examples. First, let us understand the basic principles of bubble sort. The algorithm starts from the first element of the array and compares it with the next element. If the current element is larger than the next element, swap their positions; if the current element is smaller than the next element, keep it

Complexity analysis of various PHP array sorting algorithms Complexity analysis of various PHP array sorting algorithms Apr 27, 2024 am 09:03 AM

PHP array sorting algorithm complexity: Bubble sort: O(n^2) Quick sort: O(nlogn) (average) Merge sort: O(nlogn)

Java Data Structures and Algorithms: A Practical Guide to Cloud Computing Java Data Structures and Algorithms: A Practical Guide to Cloud Computing May 09, 2024 am 08:12 AM

The use of data structures and algorithms is crucial in cloud computing for managing and processing massive amounts of data. Common data structures include arrays, lists, hash tables, trees, and graphs. Commonly used algorithms include sorting algorithms, search algorithms and graph algorithms. Leveraging the power of Java, developers can use Java collections, thread-safe data structures, and Apache Commons Collections to implement these data structures and algorithms.

CS-Week 3 CS-Week 3 Apr 04, 2025 am 06:06 AM

Algorithms are the set of instructions to solve problems, and their execution speed and memory usage vary. In programming, many algorithms are based on data search and sorting. This article will introduce several data retrieval and sorting algorithms. Linear search assumes that there is an array [20,500,10,5,100,1,50] and needs to find the number 50. The linear search algorithm checks each element in the array one by one until the target value is found or the complete array is traversed. The algorithm flowchart is as follows: The pseudo-code for linear search is as follows: Check each element: If the target value is found: Return true Return false C language implementation: #include#includeintmain(void){i