数据结构
奋斗啦哈
这个作者很懒,什么都没留下…
展开
-
扑克洗牌
扑克洗牌,总共是54张牌,要把牌打乱顺序,那么需要一个随机数的下标,然后和循环的下标交换,完成扑克洗牌。实现过程如下所示:/** * @author jcm * *时间 2016年8月27日 */public class XiPai { public static void main(String[] args) { xiPai(); } /** * 洗牌 */原创 2016-08-27 10:36:30 · 497 阅读 · 0 评论 -
删除单链表的第i个位置的结点
删除单链表的第i个位置的结点,首先需要判断是不是空链表,其次判断删除位置是否合法,最后判断是不是删除第一个结点,实现过程如下所示:package cn.edu.nwu.structs.linklist;/** * @author jcm * 删除链表第i个位置的结点 * 时间 2016年8月23日 */public class DeleteLinkListNode { pub原创 2016-08-23 14:52:22 · 6257 阅读 · 1 评论 -
判断链表是不是循环链表
为了验证链表是不是循环链表,首先要创建循环链表,其次是打印循环链表,验证循环链表是不是创建成功,最后写函数判断是不是循环链表。创建循环链表代码如下所示: /** * @author jcm * @see 创建循环链表 * @param list */ public void createCircularLinkList(Node head) { //构建循环链表原创 2016-08-23 23:34:23 · 1880 阅读 · 0 评论 -
头插法尾插法创建单链表和遍历单链表
单链表是有数据域和指针域结点组成的,所以要创建单链表,需要定义结点。定义结点如下所示:package structs.link;/** * @author jcm * *时间 2016年8月21日 */public class Node { public Object data;//数据域 public Node next;//指向下一个结点的指针域 public Node(原创 2016-08-22 16:14:54 · 2262 阅读 · 0 评论 -
线性表顺序存储结构实现
线性表顺序存储是指用一组地址连续的存储单元依次存放线性表中的各个元素,使得线性表中在结构上相邻的数据元素存储在相邻的物理存储单元中。定义顺序存储结构如下所示:#define MAXSIZE =100typedef struct{ int data[MAXSIZE]; int length;} List线性表的顺序查找,找到元素则返回值元素的位置,如果没有找到返回0原创 2016-04-02 20:48:19 · 684 阅读 · 0 评论 -
调整数组的顺序使奇数位于偶数的前面
调整数组的顺序使奇数位于偶数的前面,使用快速排序的思想来完成功能。实现过程如下所示:/** * @author jcm * @see 调整数组的顺序使奇数位于偶数的前面 * @param arr 数组 */ public static void reOrder(int[] arr){ int length = arr.length; if(length==0 ||原创 2016-08-24 16:14:27 · 254 阅读 · 0 评论