您现在的位置是:首页 > 文章详情

常见算法示例

日期:2019-08-05点击:371

冒泡排序

 for(int i =0;i<arr.length-1;i++) { for(int j=0;j<arr.length-i-1;j++) {//-1为了防止溢出 if(arr[j]>arr[j+1]) { int temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }

二分查找法

给定数组是按从小到大排序好的

 //先排序 bubbleSort(arr); int left = 0; int right = arr.length - 1; int mid; while(left <= right){ mid = (left + right) % 2 == 0 ? (left + right) / 2 : (left + right) / 2 + 1; if(arr[mid] > val){ right = mid ; }else if (arr[mid] < val){ left = mid ; }else{ //找到该值 ** System.out.println(mid);** return; } } }

单链表反转

public class SingleLinkedList{ private static class Node{ private int val; private Node next; } //递归反转1-2-3-4 public Node reverse1(Node node){ if(node.next ==null || node== null){ return node; } Node temp= node.next; Node newNode = reverse1(node.next); node.next = null; temp.next = node; return newNode; } //遍历1-2-3-4 public Node reverse2(Node head){ Node prev = null; Node next = null; while (head != null){ next = head.next; head.next = prev; //在这里完成4->3->2->1 prev = head; head = next; } return prev; } }
原文链接:https://yq.aliyun.com/articles/712936
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章