
数据结构与算法
C语言数据结构与算法
shaobing_
这个作者很懒,什么都没留下…
展开
-
利用java实现基于文本的图书管理系统(有界面)
我觉得最难的一部分就是如何实现实现增删改查增加:使用write直接向文件写入数据即可删除:例如通过图书号(x)找到图书数据,删除图书数据。要想实现此功能,利用一个字符数组(Arraylist)保存文本每行数据,分割文本每一行数据(每一行分割成书号,书名,价格等信息等等,利用正则表达式)使其与图书号进行匹配,相同则找到这一行,否则,继续读取文本直到抛出异常。找到之后删除(Remove),删除原创 2017-01-08 00:24:05 · 5128 阅读 · 4 评论 -
1001. 害死人不偿命的(3n+1)猜想 (15)
分析:输入样例3,第一步3为奇数,把3*3+1切一半得到5第二步5为奇数,3*5+1得16,16为偶数,切得8。第三步8为偶数,切得4。第四步,4为偶数,切得2第五步,2为偶数,切得1即主要步骤,判断是否为1,不为1,判断奇偶性,从而得到新的数字。注意:输入输出格式(别去额外添加任何输入输出提示,否则报错)#includeint main(){ int n,i=原创 2017-05-26 18:07:16 · 465 阅读 · 0 评论 -
【Leetcode】链表题III【python】
class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool 法一:设置一个快指针,一个慢指针 如果有环则必有fast==slow """ slow=fast=...原创 2018-12-18 23:25:59 · 164 阅读 · 0 评论 -
【Leetcode】链表题II【python】
class Solution(object): """ 存留头节点的问题return new = head?? 此处返回self.next 保证链表不断,记录下前节点pre,然后交换当前节点和下一个节点 """ def swapPairs(self, head): """ :type head: ListNode ...原创 2018-12-18 20:54:02 · 206 阅读 · 0 评论 -
【Leetcode-python】栈和队列题II
class MyStack(object): """ 双向列表实现,为什么push时候使用q更快?此方法36ms,注释方法20ms """ def __init__(self): self._queue = collections.deque() def push(self, x): # q = self._queue...原创 2018-12-20 23:37:15 · 231 阅读 · 0 评论 -
【Leetcode-python】栈和队列题I
class Solution(object): """ 定义一个栈和一个字典 如果进入左括号则append 如果进入右括号则查看栈顶是否为空,非空与栈顶元素比较,两者匹配则继续,不匹配则返回错误 """ def isValid(self,s): stack = [] map = {')':'(',']':'[',...原创 2018-12-19 20:54:23 · 321 阅读 · 0 评论 -
【Leetcode】链表题I【python】
class Solution: """ 递归思路:不断递归下一个节点 最后两个节点开始反转 递归中止条件:当前节点不存在下一个节点 """ def reverseList(self, head): if not head or not head.next: return head p = ...原创 2018-12-08 20:18:35 · 217 阅读 · 0 评论 -
【LeetCode】数组题目III【Python】
class Solution(object): """类似3sum,固定头尾,进行循环,应该有更优方法,但是通过勒,代码也很好理解""" """去重代码此处先判断是否存在此列表,在进行添加。另一种跳过重复,不能简单使用两个while""" def fourSum(self, nums, target): ans=[] nums.原创 2018-12-08 14:52:40 · 157 阅读 · 0 评论 -
【Leetcode】数组题目【Python】
class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ dic={} #dict = dict()...原创 2018-11-13 23:03:59 · 229 阅读 · 0 评论 -
【牛客网】数组题目I---【Python】
class Solution: # array 二维列表 def Find1(self, target, array): # write code here for i in range(len(array)): for j in range(len(array[0])): if arra...原创 2018-11-13 18:51:53 · 334 阅读 · 0 评论 -
【leetcode】---数组题目【python】
26.Remove duplicate from Sorted Array思路:题目不允许开辟新空间,且数组排好序。若nums[i]==nums[index-1],增加i去避免复制。当nums[i]!=nums[index-1],此时进行复制,且让index+1,重复操作直至i达到len(nums)class Solution: def removeDuplicates(se...原创 2018-11-10 14:35:22 · 327 阅读 · 0 评论 -
python单链表构建
class Node(object): def __init__(self,elem): self.elem = elem self.next = Noneclass SingleLinkList(object): """初始""" def __init__(self,node=None): self._head = n...原创 2018-11-06 16:26:56 · 561 阅读 · 0 评论 -
双向循环链表实践
观看小甲鱼视频:要求实现用户输入一个数使得26个字母发生变化,例如输入3输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC输出-3得到结果XYZABCDEFHIJKLMNOPQRSTUVW#include#include#define OK 1#define ERROR 0typedef char ElemType;typedef int Status原创 2017-05-30 01:02:20 · 330 阅读 · 0 评论 -
C语言数据结构
假设有两个集合A和B分别用两个线性表LA和LB表示,即:线性表中的数据元素即为集合中的成员。现要求一个新的集合A=A∪B#include#include#include#define LIST_INIT_SIZE 10#define LISTINCREMENT 10typedef struct{ int *elem; int length; int listsize;}SqL原创 2017-03-15 16:08:08 · 579 阅读 · 2 评论 -
java实现循环列队
public class MyQueue { private long[] arr; private int elements; private int front; private int end; public static void main(String[] args) { MyQueue mq = new MyQueue(4); mq.insert(23); m原创 2017-01-26 00:46:30 · 333 阅读 · 0 评论 -
java栈的实现
public class MyStack { private long[] arr; private int top; public static void main(String[] args) { MyStack ms = new MyStack(4); ms.push(23); ms.push(12); ms.push(90); ms.push(83);原创 2017-01-24 00:11:48 · 179 阅读 · 0 评论 -
java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
java实现三种排序,以及冒泡排序可以进行很多改良原创 2017-01-18 21:58:45 · 421 阅读 · 0 评论