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

网站开发人员属于什么软件可以推广的软件有哪些

网站开发人员属于什么软件,可以推广的软件有哪些,地推接单大厅app,自己做商业网站前言 本篇博客集中了冒泡,选择,二分插入,快排,归并,堆排,六大排序算法 如果觉得对你有帮助,可以点点关注,点点赞,谢谢你! 1.冒泡排序 //冒泡排序&#xff…

前言

本篇博客集中了冒泡,选择,二分插入,快排,归并,堆排,六大排序算法

如果觉得对你有帮助,可以点点关注,点点赞,谢谢你!

1.冒泡排序

//冒泡排序:依次比较相邻的两个数,如果前一个数比后一个数大,则交换位置,将最大的数放到最后面public void bubbling(int[] arr){for(int i=0;i<arr.length;i++){//为什么要j<arr.length-i-1:每次循环将最大的数排到了最后,下次不用管它for(int j=0;j<arr.length-i-1;j++){if(arr[j]>arr[j+1]){int temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}

2.选择排序

//选择排序:每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完public void selection(int[] arr){for(int i=0;i<arr.length;i++){int min=i;for(int j=i+1;j<arr.length;j++){if(arr[j]<arr[min]){min=j;}}int temp=arr[i];arr[i]=arr[min];arr[min]=temp;}}

3.插入排序

//插入排序:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表public void insertion(int[] arr){for(int i=1;i<arr.length;i++){int temp=arr[i];if(temp>=arr[i-1])continue;//二分法找到插入位置int l=0,r=i-1;while(l<=r){int mid=(l+r)/2;if(arr[mid]>temp){r=mid-1;}else{l=mid+1;}}//将插入位置之后的元素后移一位for(int j=i-1;j>=l;j--){arr[j+1]=arr[j];}arr[l]=temp;}}

4.快速排序

核心思路就是将数组的第一个值作为基准值

双指针指向左边界和右边界

每次循环,将右边界扫过的比基准值小的放到左指针位置

将左边界扫过的比基准值大的放到右指针位置

最后找到两个指针相等的地方,填入基准值,分成左右两个数组进行递归

//快速排序:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列public void quickSort(int[] arr,int left,int right){if(left>=right)return;int l=left,r=right;//选取基准值,第一个数int temp=arr[left];while (l < r) {//从右向左找比基准值小的数,放到左边while (l < r && arr[r] >= temp) {r--;}arr[l] = arr[r];//从左向右找比基准值大的数,放到右边while (l < r && arr[l] <= temp) {l++;}arr[r]=arr[l];}//将基准值放到中间,分界线,左右两边分别递归arr[l]=temp;quickSort(arr,left,l-1);quickSort(arr,l+1,right);}

5.归并排序

先分,左右两个子组递归,再合

合的时候就是两个有序组合成一个更大的有序组的过程

//归并排序:将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列public void mergeSort(int[] arr,int left,int right){//先分if(left>=right)return;int mid=(left+right)/2;mergeSort(arr,left,mid);mergeSort(arr,mid+1,right);//再合int[] temp=new int[right-left+1];int i=left,j=mid+1,k=0;while(i<=mid&&j<=right){if(arr[i]<=arr[j]){temp[k++]=arr[i++];}else{temp[k++]=arr[j++];}}while(i<=mid){temp[k++]=arr[i++];}while(j<=right){temp[k++]=arr[j++];}for(int m=0;m<temp.length;m++){arr[left+m]=temp[m];}}

6.堆排序

最大堆:根节点大于左右节点

最小堆:根节点小于左右节点

我的另一篇博客:

 数组中的第K个最大元素:堆排序-CSDN博客

//堆排序:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点public void heapSort(int[] arr){int len=arr.length;//建堆for(int i=len/2-1;i>=0;i--){adjustHeap(arr,i,len);}}private void adjustHeap(int[] arr,int i,int len) {int index=i;int l=i*2+1,r=i*2+2;if(l<len&&arr[l]>arr[index])index=l;if(r<len&&arr[r]>arr[index])index=r;if(index!=i){int temp=arr[i];arr[i]=arr[index];arr[index]=temp;adjustHeap(arr,index,len);}}

http://www.dtcms.com/wzjs/323288.html

相关文章:

  • wordpress主题如何升级网站快速优化排名软件
  • 做域名交易网站优化近义词
  • 如何做外贸品牌网站长沙本地推广
  • 基于html做电商网站论文网址之家大全
  • 计量检测网站平台建设方案石家庄今天最新新闻头条
  • 专业网站建设模板下载推广app的单子都在哪里接的
  • 北京小程序开发制作公司seo工程师
  • 域名注册了如何做网站外贸平台推广
  • 溜冰鞋 东莞网站建设排行榜123网
  • 高端品牌网站建设长春刚刚最新消息今天
  • 做国外网站需要多少钱注册公司网站
  • 网站设计的背景网络销售技巧
  • 有没有做校园文化的网站seo排名分析
  • 一手房发帖网站怎样做seo排名推广
  • 个人网页设计说明书的设计目的seo关键词推广怎么做
  • 做汽车配件招聘网站洛阳seo外包公司费用
  • 专业建设信息化网站资源长沙官网seo服务
  • 做网站空间不给账号密码朝阳区seo搜索引擎优化介绍
  • 网站设计工作流程百度百家
  • 英文网站建设之后怎么推高德北斗导航
  • 国内外十大免费crm视频软件历下区百度seo
  • 做众筹网站怎么赚钱重庆seo网站建设
  • 产品设计在线安徽seo推广
  • 网站开发需要什么开发工具百度一下你就知道官网下载安装
  • 网站建设管理专业介绍潍坊网站建设平台
  • 做食品网站需要什么条件微信小程序
  • 建设培训中心网站个人网站创建平台
  • 徐老师在那个网站做发视频百度爱企查电话人工服务总部
  • 网站怎么自适应屏幕大小个人微信管理系统
  • php动态网站开发选修课考试新媒体运营工作是什么