数据结构与算法
BradleyBill
这个作者很懒,什么都没留下…
展开
-
双向链表
双向链表随机创建及删除指定元素 /*******双向链表*********/ #include #include #include typedef struct List { int data; struct List *prev,*next; }List,*LinkList; LinkList Init_List(LinkList *L)/*初始化双向链表*/ { (*L)=原创 2014-03-17 16:34:24 · 562 阅读 · 0 评论 -
一种较为便捷的快排写法
代码思维: 通过设定哨兵a[low],从a[low+1]到a[high]依次与a[low]进行比较,最终目的是使哨兵左边部分元素都比哨兵元素小,右边部分元素都比哨兵元素大。然后对左右两部分分别进行递归调用,最终实现所有元素的排序。 PS:此处是通过自增指针cur,将low之后比哨兵元素小的元素全部交换到前面部分,之后交换哨兵元素与cur指针所指元素,使得哨兵元素左边部分元素值都比哨兵元素小,右原创 2014-03-17 21:31:24 · 1479 阅读 · 1 评论 -
链栈相关
/*******链栈*****/ #include #include #include typedef struct StackNode/*结点类型*/ { int data; struct StackNode *next; }StackNode,*LinkStackPtr; typedef struct /***链栈结构*/ { LinkStackPtr top; int coun原创 2014-03-18 15:11:02 · 563 阅读 · 0 评论 -
队列相关
/**********队列相关************/ #include #include #include #define OK 1 #define OVERFLOW 0 #define error 0 typedef struct Qnode /*结点结构*/ { int data; struct Qnode *next; }Qnode,*Queueptr; typedef str原创 2014-03-21 23:23:04 · 523 阅读 · 0 评论