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

做国际贸易如何建网站营销型网站图片

做国际贸易如何建网站,营销型网站图片,网站开发实施计划,北京南站列车时刻表最近在重新学习数据结构和算法的知识#xff0c;数据结构和算法问题本身比较枯燥和乏味#xff0c;而且比较难不容易掌握#xff0c;但是属于程序员内功的一部分#xff0c;学习起来容易上瘾。 1. 单链表定义 package algorithm.datastructors;/*** 单向链表* author i3247…最近在重新学习数据结构和算法的知识数据结构和算法问题本身比较枯燥和乏味而且比较难不容易掌握但是属于程序员内功的一部分学习起来容易上瘾。 1. 单链表定义 package algorithm.datastructors;/*** 单向链表* author i324779*/ public class ListNode {private int data;private ListNode next;public ListNode(int data) {this.data data;}public int getData() {return data;}public void setData(int data) {this.data data;}public ListNode getNext() {return next;}public void setNext(ListNode next) {this.next next;} }2, 单链表的一些常见操作 package algorithm.datastructors;import java.util.Stack;/*** 单链表的一些操作** author i324779*/ public class ListNodeOperation {/*** 找到链表的中间节点* 使用两个指针。让第一个指针的移动速度是另一个的两倍。* 当第一个指针到达表尾时另一个指针则指向中间节点。* Note如果链表节点数为奇数则第n/2个节点为中间节点。** param head* return*/ListNode findMiddle(ListNode head) {ListNode ptr1x, ptr2x;ptr1x head;ptr2x head;int i 0;// 不断循环直至达到表尾next后继指针为null就表示达到最后一个节点while (ptr1x.getNext() ! null) {if (i 0) {ptr1x ptr1x.getNext();i 1;} else {// 两个指针都后移ptr1x ptr1x.getNext();ptr2x ptr2x.getNext();i 0;}}return ptr2x;}/*** 从表尾开始输出链表。** param head*/void printListFromEnd(ListNode head) {if (head null) {return;}printListFromEnd(head.getNext());System.out.println(head.getData());}/*** 检查链表的长度是奇数还是偶数。* 使用一个在链表中每次向后移动两个节点的指针。* 最后如果指针值为null那么聊表长度为偶数* 否则指针指向表尾节点链表长度为奇数。** param head* return*/public int isLinkedListLengthEven(ListNode head) {while (head ! null head.getNext() ! null) {head head.getNext().getNext();}if (head null) {return 0;} else {return 1;}}/*** 合并两个有序链表为一个新的有序链表。** param node1* param node2* return*/public ListNode mergeList(ListNode node1, ListNode node2) {if (node1 null) {return node2;}if (node2 null) {return node1;}ListNode result;if (node1.getData() node2.getData()) {result node1;result.setNext(mergeList(node1.getNext(), node2));} else {result node2;result.setNext(mergeList(node2.getNext(), node1));}return result;}/*** 逆置单向链表。** param head 表头* return 逆置后的单向链表。*/ListNode reverseList(ListNode head) {ListNode temp null;ListNode nextNode;while (head ! null) {nextNode head.getNext();head.setNext(temp);temp head;head nextNode;}return temp;}/*** 找到链表的倒数第n个结点* 使用一次链表扫描解决问题。* 使用两个指针pNthNode和pTemp。* 首先两个指针都指向链表的头结点。仅当pTemp沿着链表进行了n次移动后* pNthNode才开始移动。然后两个指针同时移动直至tTemp到达表尾。* 这时pNthNode指针所指的结点就是所求的结点也就是链表的倒数第n个结点。** param head* param nthNode* return*/ListNode nthNodeFromEnd(ListNode head, int nthNode) {ListNode pTemp head;ListNode pNnthNode null;for (int count 1; count nthNode; count) {if (pTemp ! null) {pTemp pTemp.getNext();}}while (pTemp ! null) {if (pNnthNode null) {pNnthNode head;} else {pNnthNode pNnthNode.getNext();}pTemp pTemp.getNext();}return pNnthNode;}/*** 给定两个有序单链表的头指针head1 和head2 打印两个链表的公共部分。** param head1 有序链表1* param head2 有序链表2*/public void printCommonPart(ListNode head1, ListNode head2) {if (head1 null || head2 null) {System.out.println(Node is null);return;}System.out.println(Common Part: );while (head1 ! null head2 ! null) {if (head1.getData() head2.getData()) {head1 head1.getNext();} else if (head1.getData() head2.getData()) {head2 head2.getNext();} else {System.out.println(head1.getData());head1 head1.getNext();head2 head2.getNext();}}}/*** 判断是否有环** param head 链表头结点* return 是否有环*/public static boolean isCycle(ListNode head) {ListNode p1 head;ListNode p2 head;while (p2 ! null p2.getNext() ! null) {p1 p1.getNext();p2 p2.getNext().getNext();if (p1 p2) {return true;}}return false;}/*** 逐对逆置链表** param head* return*/private void reversePairRecursive(ListNode head) {if (head null || head.getNext() null) {return;}ListNode cur head.getNext();ListNode pre head;ListNode next;while (cur ! null cur.getNext() ! null) {next cur.getNext().getNext();pre.setNext(cur.getNext());cur.getNext().setNext(cur);cur.setNext(next);pre cur;cur next;}}/*** 判断一个链表是否为回文结构** param head 单链表的头结点* return true回文结构false不是回文结构*/public boolean isPalindrome(ListNode head) {StackListNode stack new Stack();ListNode cur head;while (cur ! null) {stack.push(cur);cur cur.getNext();}while (head ! null) {if (head.getData() ! stack.pop().getData()) {return false;}head head.getNext();}return true;}public static void main(String[] args) {ListNodeOperation operation new ListNodeOperation();int i 1;ListNode head new ListNode();head.setNext(null);ListNode tmp;ListNode cur head;for (; i 8; i) {tmp new ListNode();tmp.setData(i);tmp.setNext(null);cur.setNext(tmp);cur tmp;}System.out.println(顺序输出);for (cur head.getNext(); cur ! null; cur cur.getNext()) {System.out.print(cur.getData() );}operation.reversePairRecursive(head);System.out.println(\n逆序输出);for (cur head.getNext(); cur ! null; cur cur.getNext()) {System.out.print(cur.getData() );}} } 转载于:https://www.cnblogs.com/IcanFixIt/p/10471386.html
http://www.yutouwan.com/news/270778/

相关文章:

  • 药店网站建设相关费用代刷网可以做网站地图
  • 网站推广的方法和技巧手机优化大师怎么退款
  • 做课件挣钱的网站南通网站建设推广专家
  • 网站维护升级访问邢台柏乡县建设局网站
  • 花店网站设计小熊代刷推广网站
  • 做调查赚钱的网站有哪些网站要背代码?
  • 服务器搭建网站搜索引擎优化特点
  • 做网站支付系统难度佛山网站建设凤软
  • 广东网站建设英铭科技企业网站建设方案百度文库
  • 迁安网站建设公司网站建设咨询公
  • 网站干什么的品牌策划是做什么的
  • 网站运营公司广州互邦物流网络优化建站
  • seo建站淘客免费logo设计生成器在线制作
  • 做网站挣钱吗现在端游网络游戏排行榜2023
  • aps网站服务建设wordpress app下载模板
  • 做视频网站需要什么高端技术企业自己建设的营销网络
  • 跨国网站盐城网站建设价格
  • html5建设的网站wordpress实现动漫播出时间表
  • 韶关建网站网站正在建设中请稍后
  • 成都网站建设 龙兵php 除了做网站
  • 东莞企业网站多少钱网页设计尺寸pc端
  • 上海市企业网站建设做网站为什么要投资钱
  • 佛山营销网站开发阳光网
  • 福州什么推广网站好上海做网站设计公司
  • 网页设计精选网站国外网站怎么浏览
  • 怎么用Visio studio做网站1000个免费邮箱账号
  • 网站推广专家常用seo站长工具
  • 苏州市规划建设局网站cms 免费
  • 织梦手机网站怎么修改网站客户问题解答
  • 网站开发合肥四川网站建设的公司