
数据结构算法
胡萝卜lo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分法查找数组元素下标
package pra; import java.util.Scanner; public class TwoPointsSearch { private long[] array; private int subscripts;//下标 public TwoPointsSearch(){ array = new long[50]; ...原创 2019-03-16 15:49:01 · 764 阅读 · 0 评论 -
直接选择排序
#include<stdio.h> //直接选择排序 void SlectSort(int a[],int n){ int i,j,min,temp; for(i = 0;i<n-1;i++){ min = i; for(j = i+1;j<n;j++){ if(a[j] < a[min]){ ...原创 2019-07-23 11:01:01 · 94 阅读 · 0 评论 -
冒泡排序
#include<stdio.h> //冒泡 void BubbleSort(int a[],int n){ //升序 int i,j,temp,flag; flag = 1; //标志 for(i = 0;i<n && flag;i++) { for(j = n-1;...原创 2019-07-23 11:34:32 · 109 阅读 · 0 评论 -
直接插入排序
#include<stdio.h> //基本操作位讲一个记录插入到已经排好序的有序表中 void InsertSort(int a[],int n){ int i,j,temp; for(i = 1;i<n;i++){ if(a[i] < a[i-1]){ //前后比,条件成立,存入temp容器 tem...原创 2019-07-23 12:16:50 · 115 阅读 · 0 评论 -
希尔排序
#include<stdio.h> void ShellSort(int a[],int n) { int i,j,temp; int gap = n; do { gap = gap/3+1; //将数组拆分为长度为gap的段 for(i = gap;i<n;i++) ...原创 2019-07-23 15:41:24 · 86 阅读 · 0 评论 -
100阶乘
#include<stdio.h> #define N 1000 int main(void) { int a[N],x,s,i,j,cp,n=0; // s岗哨 cp进位 n计数器 a[N-1]=1; s=N-2; for(i=1;i<101;i++) { cp=0; for(j=N-1;j>s;j--) { x=a[j]*...原创 2019-09-15 21:46:16 · 251 阅读 · 0 评论 -
二叉树
二叉树链表实现前中后序遍历-----递归方式 #include<stdio.h> #include<stdlib.h> #define N 9 typedef struct node { int data; struct node *left; struct node *right; }BTNode; BTNode *creatalink(int a[]) { BT...原创 2019-09-15 21:48:05 · 136 阅读 · 0 评论 -
链表升序排序
两指针联动 //链表选择排序 升序排列 #include<stdio.h> #include<stdlib.h> #define N 8 typedef struct node { int data; struct node * next; }ElemSN; ElemSN * createlink(int a[]) ...原创 2019-09-15 22:05:59 · 2124 阅读 · 0 评论 -
判断链表是否出现交叉
两支针联动 //head1、head2指向非空单向链表,判断是否出现交叉点 #include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node *next; }ElemSN; ElemSN *creatalink(int a[],int n)//逆向建链 { ElemSN *...原创 2019-09-15 22:04:28 · 209 阅读 · 0 评论 -
最大无重复子串大小
package leetcode; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /*无重复字符最长子串*/ public class MaxLengthLongest { /*一*/ public int lengthOfLonge...原创 2019-09-15 22:38:48 · 262 阅读 · 0 评论 -
找出数组中的重复数字
package dataconfig; /*前提数组中的数字都在0~n-1之间*/ /*** * 利用哈希表解决 * 如果哈希表中没有这个数字,就将其加入到哈希表 * 如果存在就找到重复数字 * 如果数组没有重复数字,那么在数组排序后就会出现在与之对应的下标位置 * */ public class FindArrayRepeatNum { boolean duplicate(i...原创 2019-09-16 00:27:35 · 195 阅读 · 0 评论 -
不改变数组找到重复数字,只能找到一处
package dataconfig; /*不修改数组找重复值*/ /*** * 长度为n的数组,所有数字都在1~n-1,至少有一个数字重复 * 把1~n-1分为两部分,前一半1~m,后一半m~n-1 * 1~m数字超过m,则一定包含重复数字,反之另一半则包含 * 但不能保证找出所有重复数字 * */ public class FindDuplicateArr { public ...原创 2019-09-16 17:07:12 · 136 阅读 · 0 评论 -
替换字符串的空格
package dataconfig; /*** *将给定字符创中的空格替换为%20 * 解决思路:找到空格个数,将字符串赋值给数组,计算出最小数组个数 * 将s数组中元素赋值给sL,并将空格替换,从后往前 * */ public class StringSpaceReplace { public char[] ReplaceBlank(String string){ ...原创 2019-09-22 11:22:28 · 191 阅读 · 0 评论 -
Java二叉树(前中后序遍历---递归实现)
package dataconfig; /*** * 构建二叉树 * */ public class BinaryTree { static class BinarytreeNode{ public int data; public BinarytreeNode left; public BinarytreeNode right; ...原创 2019-09-23 11:28:44 · 287 阅读 · 0 评论 -
Java单向链表,不带表头
package dataconfig; /**** * 链表建立,逆序输出 * */ public class PrintfLinkTailbegin { /*构建链表*/ static class Node{ public int data; //值 public Node next; //结点 } public...原创 2019-09-23 11:29:33 · 237 阅读 · 0 评论 -
两个栈实现队列
package dataconfig; import java.lang.reflect.Method; import java.util.Scanner; /*** * 两个栈实现队列 * 一个入栈,出栈在入另一个栈,保证先进先出 * 实现队列 * */ public class TwoStackImplementationQueue { /*元素入栈,随输入动态调整栈...原创 2019-09-23 22:37:06 · 187 阅读 · 0 评论 -
Java链表---创建、正逆序输出、增加、删除操作
package dataconfig; /**** * 链表建立,正序、逆序输出 * 链表删除、插入 * 本例之前有创建链表过程,链表一定存在,其他情况请增加判断,防止为空链表 * */ public class PrintfLinkTailbegin { /*构建链表*/ static class Node{ public int data; /...原创 2019-09-24 01:01:22 · 325 阅读 · 0 评论