iOS常见算法(二分法 冒泡 选择 快排)[通俗易懂]

iOS常见算法(二分法 冒泡 选择 快排)

大家好,又见面了,我是全栈君。

二分法:
平均时间复杂度:O(log2n)
int halfFuntion(int a[], int length, int number)
 {
int start = 0;
int end = length – 1;
int index = 0;
while(start < end)
 {
index = start + (end – start)/2
if(a[index] == number){
return index;
 
} else if(a[index] < number){
start = index + 1;
 } else{
end = index – 1;
 }
 
}
return index;
 }


冒泡排序:

/**

 平均时间复杂度:O(n2)

 

 空间复杂度:O(1)  (用于交换)

 

 稳定性:稳定

 */

void paoFuntion(int a[], int length){

    for (int i = 0; i < length – 1; i++) {

        for (int j = 0; j < length – 1 – i; j++) {

            if (a[j] > a[j+1]) {

                int temp = a[j];

                a[j] = a[j+1];

                a[j+1] = temp;

            }

        }

    }

}



选择排序:

/**

 平均时间复杂度:O(n2)

 

 空间复杂度:O(1)  (用于交换和记录索引)

 

 稳定性:不稳定 (比方序列【5。 5, 3】第一趟就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)

 */

void chooseFuntion(int a[],int length){

    for (int i = 0; i < length – 1; i++) {

        for (int j = i + 1; j < length ; j++) {

            if (a[i] > a[j]) {

                int temp = a[j];

                a[j] = a[i];

                a[i] = temp;

            }

        }

    }

}


快排:点击打开链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116103.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一个高效快捷的排序方法

    一个高效快捷的排序方法

    2021年9月27日
    54
  • Java|JavaScript 模拟钓鱼网站实例一[通俗易懂]

    Java|JavaScript 模拟钓鱼网站实例一[通俗易懂]本次只是用最简单的方法模拟钓鱼网站。前端的代码是从网上下载的,我只是做了稍微的修改。整个项目的源码如下(2018年2月10日在审核估计2月11后可以下载):http://download.csdn.net/download/qq78442761/10247969最后的效果是如下图:输入用户名和密码后,会提醒服务器繁忙然后,我们登录到另外一个页面进行查看:这里涉及如下技术:1.修改网上下载的html…

    2022年8月24日
    6
  • windows cmd 查看端口占用[通俗易懂]

    windows cmd 查看端口占用[通俗易懂]一、netstat-a-o二、tasklist|findstr”aaaa”

    2022年5月19日
    36
  • 计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家…[通俗易懂]

    计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家…[通俗易懂]在使用win7系统电脑的时间一长,出现的电脑故障也就会越多,这大多数都是用户自己所造成的,例如有用户的win7系统在运行过程中总是会出现严重卡顿的情况,这让许多用户都感到很难受,那么win7卡顿严重怎么解决呢?下面小编就来告诉大家win7运行卡顿严重最流畅设置方法。具体方法:1、右击【计算机】选择属性;2、在出现的面板的左侧栏选择【高级系统设置】;3、依次点击【高级】【设置】;4、默认是【让系统选…

    2022年9月12日
    2
  • vscode 设置 eclipse 快捷键

    vscode 设置 eclipse 快捷键【首选项】–&gt;【键盘快捷方式】–&gt;【用于高级自定义打开和编辑keybindings.json】[{"key":"alt+/","command":"editor.action.triggerSuggest","when":"editorTextFocus"},{"key":"ctrl

    2022年6月8日
    82
  • soap和wsdl区别说明

    soap和wsdl区别说明WebService实现业务诉求:WebService是真正“办事”的那个,提供一种办事接口的统称。WSDL提供“能办的事的文档说明”:对要提供的服务的一种描述格式。我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型。SOAP提供“请求”的规范:向服务接口传递请求的格式,包括方法和参数等。你想让人家办事,总得告诉人家你想干什么吧,SOAP就是定义这个“请求”的格式的,按…

    2022年7月24日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号