两个有序数组合并为一个有序数组

news/2024/7/10 3:38:48 标签: 优化, null, 存储, c
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

思想:先依次比较两个数组࿰c;按照小的就传入新的数组。当这次比较完之后可能有一个数组的长度很长࿰c;留下一些数组࿰c;然后在新数组的末尾插入即可。

color:#008080">1 color:#0000ff">classcolor:#000000"> ArraySort
color:#008080"> 2 
color:#000000">{
color:#008080"> 3 color:#000000">    color:#008000">//color:#008000">两个有序数组的合并函数
color:#008000">
color:#008080"> 4 color:#008000">color:#000000">    color:#0000ff">publiccolor:#000000"> color:#0000ff">staticcolor:#000000"> color:#0000ff">intcolor:#000000">[] MergeList(color:#0000ff">intcolor:#000000"> a[],color:#0000ff">intcolor:#000000"> b[])
color:#008080"> 5 
color:#000000">    {
color:#008080"> 6 color:#000000">        color:#0000ff">int
color:#000000"> result[];  
color:#008080"> 7 color:#000000">        color:#0000ff">ifcolor:#000000">(checkSort(a) color:#000000">&&color:#000000"> checkSort(b))  color:#008000">//color:#008000">检查传入的数组是否是有序的
color:#008000">
color:#008080"> 8 color:#008000">color:#000000">        {
color:#008080"> 9 color:#000000">            result color:#000000">=color:#000000"> color:#0000ff">newcolor:#000000"> color:#0000ff">intcolor:#000000">[a.lengthcolor:#000000">+
color:#000000">b.length];
color:#008080">10 
color:#000000">            
color:#008080">11 color:#000000">            color:#0000ff">intcolor:#000000"> icolor:#000000">=color:#000000">0color:#000000">,jcolor:#000000">=color:#000000">0color:#000000">,kcolor:#000000">=color:#000000">0color:#000000">;   color:#008000">//color:#008000">i:用于标示a数组    j:用来标示b数组  k:用来标示传入的数组
color:#008000">
color:#008080">12 color:#008000">color:#000000">
color:#008080">13 color:#000000">            color:#0000ff">whilecolor:#000000">(icolor:#000000"><color:#000000">a.length color:#000000">&&color:#000000"> jcolor:#000000"><color:#000000">b.length)
color:#008080">14 color:#000000">                color:#0000ff">ifcolor:#000000">(a[i] color:#000000"><=
color:#000000"> b[j]) {
color:#008080">15 color:#000000">                    result[kcolor:#000000">++color:#000000">] color:#000000">=color:#000000"> a[icolor:#000000">++
color:#000000">];
color:#008080">16 color:#000000">                }color:#0000ff">else
color:#000000">{
color:#008080">17 color:#000000">                    result[kcolor:#000000">++color:#000000">] color:#000000">=color:#000000"> b[jcolor:#000000">++
color:#000000">];
color:#008080">18 
color:#000000">                }
color:#008080">19 
color:#000000">
color:#008080">20 color:#000000">            color:#008000">/*color:#008000"> 后面连个while循环是用来保证两个数组比较完之后剩下的一个数组里的元素能顺利传入 color:#008000">*/color:#000000">
color:#008080">21 color:#000000">            color:#0000ff">whilecolor:#000000">(i color:#000000"><color:#000000"> a.length) 
color:#008080">22 color:#000000">                result[kcolor:#000000">++color:#000000">] color:#000000">=color:#000000"> a[icolor:#000000">++
color:#000000">];
color:#008080">23 color:#000000">            color:#0000ff">whilecolor:#000000">(j color:#000000"><
color:#000000"> b.length)
color:#008080">24 color:#000000">                result[kcolor:#000000">++color:#000000">] color:#000000">=color:#000000"> b[jcolor:#000000">++
color:#000000">];
color:#008080">25 
color:#000000">            
color:#008080">26 color:#000000">            color:#0000ff">return
color:#000000"> result;
color:#008080">27 
color:#000000">        }
color:#008080">28 color:#000000">        color:#0000ff">else
color:#000000"> 
color:#008080">29 
color:#000000">        {
color:#008080">30 color:#000000">            System.out.print(color:#000000">"color:#000000">非有序数组࿰c;不可排序!color:#000000">"
color:#000000">);
color:#008080">31 color:#000000">            color:#0000ff">returncolor:#000000"> color:#0000ff">class="tags" href="/tags/NULL.html" title=null>null
color:#000000">;
color:#008080">32 
color:#000000">        }
color:#008080">33 
color:#000000">    }
color:#008080">34 
color:#000000">    
color:#008080">35 color:#000000">    color:#008000">//color:#008000">检查数组是否是顺序class="tags" href="/tags/CunChu.html" title=存储>存储的
color:#008000">
color:#008080">36 color:#008000">color:#000000">    color:#0000ff">publiccolor:#000000"> color:#0000ff">staticcolor:#000000"> color:#0000ff">booleancolor:#000000"> checkSort(color:#0000ff">intcolor:#000000"> a[])
color:#008080">37 
color:#000000">    {
color:#008080">38 color:#000000">        color:#0000ff">booleancolor:#000000"> change color:#000000">=color:#000000"> color:#0000ff">truecolor:#000000">;  color:#008000">//color:#008000">这个标志位是一种class="tags" href="/tags/YouHua.html" title=优化>优化程序的方法࿰c;可以看看我写的冒泡排序class="tags" href="/tags/YouHua.html" title=优化>优化就会明白了
color:#008000">
color:#008080">39 color:#008000">color:#000000">        color:#0000ff">forcolor:#000000">(color:#0000ff">intcolor:#000000"> icolor:#000000">=color:#000000">0color:#000000">; icolor:#000000"><color:#000000">a.lengthcolor:#000000">-color:#000000">1color:#000000"> color:#000000">&&color:#000000"> change; icolor:#000000">++color:#000000">)
color:#008080">40 
color:#000000">        {
color:#008080">41 color:#000000">            color:#0000ff">forcolor:#000000">(color:#0000ff">intcolor:#000000"> jcolor:#000000">=color:#000000">icolor:#000000">+color:#000000">1color:#000000">; jcolor:#000000"><color:#000000">a.length; jcolor:#000000">++
color:#000000">)
color:#008080">42 color:#000000">                color:#0000ff">ifcolor:#000000">(a[jcolor:#000000">-color:#000000">1color:#000000">] color:#000000">>
color:#000000"> a[j])
color:#008080">43 color:#000000">                    color:#0000ff">returncolor:#000000"> color:#0000ff">false
color:#000000">;
color:#008080">44 color:#000000">                color:#0000ff">elsecolor:#000000"> change color:#000000">=color:#000000"> color:#0000ff">false
color:#000000">;
color:#008080">45 
color:#000000">        }
color:#008080">46 color:#000000">        color:#0000ff">returncolor:#000000"> color:#0000ff">true
color:#000000">;        
color:#008080">47 
color:#000000">    }
color:#008080">48 
color:#000000">    
color:#008080">49 color:#000000">    color:#008000">//color:#008000"> 打印函数
color:#008000">
color:#008080">50 color:#008000">color:#000000">    color:#0000ff">publiccolor:#000000"> color:#0000ff">staticcolor:#000000"> color:#0000ff">voidcolor:#000000"> print(color:#0000ff">intcolor:#000000"> b[])
color:#008080">51 
color:#000000">    {
color:#008080">52 color:#000000">         color:#0000ff">forcolor:#000000">(color:#0000ff">intcolor:#000000"> icolor:#000000">=color:#000000">0color:#000000">; icolor:#000000"><color:#000000">b.length ; icolor:#000000">++
color:#000000">)
color:#008080">53 
color:#000000">         {
color:#008080">54 color:#000000">             System.out.print(b[i] color:#000000">+color:#000000"> (icolor:#000000">%color:#000000">10color:#000000"> color:#000000">==color:#000000">9color:#000000"> color:#000000">?color:#000000"> color:#000000">"color:#000000">\ncolor:#000000">"color:#000000">:color:#000000">"color:#000000">\tcolor:#000000">"
color:#000000">));
color:#008080">55 
color:#000000">         }
color:#008080">56 
color:#000000">    }
color:#008080">57 
color:#000000">    
color:#008080">58 color:#000000">    color:#0000ff">publiccolor:#000000"> color:#0000ff">staticcolor:#000000"> color:#0000ff">void
color:#000000"> main(String args[])
color:#008080">59 
color:#000000">    {
color:#008080">60 color:#000000">        color:#0000ff">intcolor:#000000"> a[]color:#000000">=color:#000000">{color:#000000">1color:#000000">,color:#000000">2color:#000000">,color:#000000">2color:#000000">,color:#000000">3color:#000000">,color:#000000">5color:#000000">,color:#000000">6color:#000000">,color:#000000">7color:#000000">,color:#000000">7
color:#000000">};
color:#008080">61 color:#000000">        color:#0000ff">intcolor:#000000"> b[]color:#000000">=color:#000000">{color:#000000">1color:#000000">,color:#000000">2color:#000000">,color:#000000">4color:#000000">,color:#000000">5color:#000000">,color:#000000">8color:#000000">,color:#000000">8color:#000000">,color:#000000">9color:#000000">,color:#000000">10color:#000000">,color:#000000">11color:#000000">,color:#000000">12color:#000000">,color:#000000">12color:#000000">,color:#000000">13color:#000000">,color:#000000">14
color:#000000">};
color:#008080">62 color:#000000">        color:#0000ff">intcolor:#000000"> c[]color:#000000">=
color:#000000"> MergeList(a,b);
color:#008080">63 color:#000000">        color:#0000ff">ifcolor:#000000">(ccolor:#000000">!=color:#0000ff">class="tags" href="/tags/NULL.html" title=null>null
color:#000000">)
color:#008080">64 
color:#000000">        print(c);
color:#008080">65 color:#000000">        color:#0000ff">else
color:#000000">
color:#008080">66 color:#000000">            System.out.println(color:#000000">""color:#000000">);
color:#008080">67 
color:#000000">    }
color:#008080">68 color:#000000">}

cle>

http://www.niftyadmin.cn/n/1759691.html

相关文章

SpringMVC - 视图解析器

1. 概述 当我们对SpringMVC控制的资源发起请求时&#xff0c;这些请求都会被SpringMVC的DispatcherServlet处理&#xff0c;接着spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理的映射。然后通过该HandlerMapping取得其对应的Handler&#xff0c…

Python之获取文件夹中文件列表以及glob与fnmatch模块的使用

获取文件夹中的文件列表 print(os.listdir("../secondPackage")) # [__init__.py, secondCookBook.py, 文件与IO.py, testPackage, 迭代器与生成器.py] # 注释&#xff1a; curdir . pardir .. print(os.listdir(os.curdir)) # [__init__.py, secondCookBook.p…

SpringMVC - 静态资源访问

Java项目读取resources资源文件路径那点事 1. servlet-mapping的三种配置方式 *① / ** 拦截所有 jsp js png .css 真的全拦截&#xff0c;因为全拦截了所以对于jsp的某些转发也会被解析 不建议使用 **② .action .do ** 拦截以do action 结尾的请求 **③ / ** 拦截所有,不…

debug_backtrace

说明: 产生一条回溯跟踪 //1.php function test($str) {echo \nHi:.$str;var_dump(debug_backtrace()); } test(friend); //2.php include_once ./1.php; include_once ./2.php; 打印结果&#xff1a;最内部文件是第一个数组&#xff0c;最外部文件是最后一个数组 \nHi:friend …

SpringMVC - Restful

Restful REST&#xff1a;Representational State Transfer 直接翻译&#xff1a;表现层状态转移&#xff0c;REST描述的是在网络中client和server的一种交互形式&#xff1b;REST本身不实用&#xff0c;实用的是如何设计 RESTful API&#xff08;REST风格的网络接口&#xff…

String的一个容易迷惑的地方

String的一个容易迷惑的地方&#xff1a;"hello"直接量和new String("hello")区别&#xff1a; 当Java程序直接使用形如"hello"的字符串直接量时&#xff0c;JVM将会使用常量池来管理这些字符串&#xff1b;当使用new String("hello")…

SpringMVC - 处理模型数据

1. 简介 客户端请求服务端的时候&#xff0c;为了将服务端的数据是返回给客户端&#xff0c;Spring MVC 提供了以下几种途径输出模型数据 ModelAndView: 处理方法返回值类型为ModelAndView时, 方法体即可通过该对象添加模型数据 Map 及Model: 入参为org.springframework.ui.…

dart正则

1、前言 API中对于正则表达式的注释是&#xff1a;正则表达式的规范和语义与JavaScript相同详细的规范可以参考&#xff1a;http://ecma-international.org/ecma-262/5.1/#sec-15.1 打开链接&#xff0c;全英文的、、、瞄了一下不明觉厉&#xff01;&#xff01;&#xff01; 然…