当前位置: 首页 > news >正文

做网站宁波大点的网络公司搜什么关键词能找到网站

做网站宁波大点的网络公司,搜什么关键词能找到网站,男人女人晚上做那事网站,烟台网站建设开发冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成…

冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

冒泡排序的原理

  1. 比较与交换
    • 冒泡排序从数列的第一个元素开始,比较相邻的两个元素。
    • 如果他们的顺序(如从小到大)错误,就交换他们的位置。
    • 这样,较大的元素就像气泡一样“浮”到数列的末端。
  2. 多轮遍历
    • 经过第一轮遍历后,最大的元素会被“冒泡”到数列的最后一位。
    • 接下来,算法会忽略已经排序好的最后一个元素,继续对剩下的元素进行同样的操作。
    • 每一轮遍历后,都会有一个元素被放到它最终的位置上。
  3. 终止条件
    • 当算法发现没有元素需要交换时(即没有发生任何冒泡),说明数列已经排序完成,此时可以终止算法。

示例

假设有一个数列 {64, 34, 25, 12, 22, 11, 90},我们想要按照从小到大的顺序排序它。

第一轮遍历:

  • 比较 64 和 34,交换它们(34, 64)。
  • 比较 34 和 25,交换它们(25, 34, 64)。
  • 比较 25 和 12,交换它们(12, 25, 34, 64)。
  • ...(继续比较和交换)
  • 第一轮结束后,最大的元素 90 被移动到了最后一位。

第二轮遍历(忽略已经排序好的 90):

  • 经过类似的比较和交换后,次大的元素 64 会被移动到倒数第二位。

以此类推,经过多轮遍历后,数列会被排序完成。

效率
冒泡排序的效率并不高,特别是对于大数据集来说。它的时间复杂度为 O(n^2),其中 n 是待排序数列的长度。但是,由于其实现简单且易于理解,它通常被用作教学示例。在实际应用中,更高效的排序算法(如快速排序、归并排序、堆排序等)通常会被优先考虑。

Java实现冒泡排序法

import java.util.Scanner;public class Demo1 {public static void main(String[] args) {// 使用冒泡法进行排序int[] arr = new int[5];int number;int i;Scanner sc = new Scanner(System.in);for(i = 0 ; i < arr.length ; i++){arr[i] = sc.nextInt();}for(i = 0 ; i < arr.length -1  ; i++){// 冒泡法for(int j = 0 ; j < arr.length - 1 -i  ; j++){if (arr[j] > arr[j+1]){number = arr[j];arr[j] = arr[j+1];arr[j+1] = number;}}}for(i = 0 ; i < arr.length  ; i++){System.out.println(arr[i]);}}
}

c语言实现

#include <stdio.h>  void bubbleSort(int arr[], int n) {  int i, j, temp;  for (i = 0; i < n-1; i++) { // 外层循环控制排序的轮数  for (j = 0; j < n-i-1; j++) { // 内层循环控制每轮比较的次数  if (arr[j] > arr[j+1]) { // 如果前一个元素大于后一个元素,则交换它们  temp = arr[j];  arr[j] = arr[j+1];  arr[j+1] = temp;  }  }  }  
}  int main() {  int arr[100], n, i;  printf("Enter the number of elements: ");  scanf("%d", &n);  printf("Enter %d elements: ", n);  for (i = 0; i < n; i++) {  scanf("%d", &arr[i]);  }  bubbleSort(arr, n);  printf("Sorted array: \n");  for (i = 0; i < n; i++) {  printf("%d ", arr[i]);  }  printf("\n");  return 0;  
}

python实现

def bubble_sort(arr):  n = len(arr)  for i in range(n):  # 创建一个标志位,用于判断本轮是否有交换  swapped = False  for j in range(0, n - i - 1):  # 遍历到倒数第i+1个元素即可,因为最后i个元素已经有序  if arr[j] > arr[j + 1]:  # 如果前一个元素大于后一个元素,则交换它们  arr[j], arr[j + 1] = arr[j + 1], arr[j]  # 交换发生,标志位设为True  swapped = True  # 如果本轮没有发生交换,说明数组已经有序,可以提前结束排序  if not swapped:  break  return arr  # 测试代码  
arr = [64, 34, 25, 12, 22, 11, 90]  
sorted_arr = bubble_sort(arr)  
print("Sorted array:", sorted_arr)

http://www.tj-hxxt.cn/news/53592.html

相关文章:

  • wordpress挂下载链接关键词整站优化
  • 品牌策划服务seo关键词优化软件合作
  • 手机建设网站目的东莞百度推广优化排名
  • 校园网站开发背景腾讯企点qq
  • 艺术网站制作橙子建站
  • 当前最好用的wordpress主题网站seo综合查询
  • 网站实名审核视频号最新动作
  • 做网站只做前端可以用吗微信小程序
  • 网站方案组成要素seo搜索是什么意思
  • 行业网站客服怎么做口碑营销案例ppt
  • 政府网站模板 免费目前疫情最新情况
  • 网页设计模板网站推荐营销方案策划书
  • 深圳有哪些做网站的公司免费二级域名建站
  • 网站公司怎么做推广seo中国
  • 模板网站建设流程网站优化排名方法
  • 建设中专网站泉州百度关键词排名
  • 做批发的网站是阿里百度指数电脑端查询
  • 永久免费的网站推荐站长之家关键词挖掘工具
  • 年前做招聘网站话术免费网站怎么做出来的
  • 天津网站建设培训课件头条今日头条新闻
  • 人脉做的最好的网站免费制作详情页的网站
  • 做网站和网页的目的和作用是什么百度seo教程视频
  • 阿里巴巴免费建网站国际新闻今天最新消息
  • 网站一直百度上搜不到是怎么回事啊百度官方营销推广平台
  • 江苏建筑工程信息网站saascrm国内免费pdf
  • 石家庄有学校交做网站和优化的吗网络关键词排名软件
  • 个人网站网站建设数字营销公司
  • 汕头网站制作推荐海淀区seo搜索引擎
  • 网络服务系统站长之家seo综合
  • 如何利用网站模板做网站无需下载直接进入的网站的代码