
考研_数据结构
小白不回家
既然奋斗是生命的常态,那么奋斗当是你我的兴趣。
从基础做起,从现在做起。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线性表真题仿造
算法思想:将A[]前m个元素看出表L,后n个元素看成表R,将R的元素逐个插入L中的"适当"位置。 就是遍历后n个元素(从m到m+n-1)与当前元素前面的所有元素进行比较并互换位置, 使之递增! void insertElem(int A[],int m,int n) { int i,j; int temp; for(i=m;i>m+n;++i)//R表 ...原创 2019-07-29 09:47:57 · 152 阅读 · 0 评论 -
双链表操作
尾插建立双链表 void createDlistR(DLnode *&L,int a[],int n) { DLNode *s,*r; int i; L=(DLNode*)malloc(sizeof(DLNode)); L->prior=NULL; L->next=NUll; r=L; for(i=0;i<n;i...原创 2019-07-27 15:50:14 · 149 阅读 · 0 评论 -
关于删除结点的实例
查找C中是否存在一个值为x的结点,若存在,删除该结点并返回1,否则返回0 1.查找 2.删除 int findAndDelete(LNode *C,int x) { LNode *p,*q;//p指向所要删除结点的前驱结点 p=C;//此时p为头结点 while(p->next!=NULL) { if(p->next->...原创 2019-07-27 15:42:45 · 190 阅读 · 0 评论 -
归并成递减的单链表
//头插法 void merge(LNode *A,LNode *B,LNode *&C) { LNode *p=A->next;//(p跟踪A的最小值结点),跟踪的开始结点是头结点后面一个 LNode *q=B->next;//(q来跟踪B的最小值结点) LNode *s;//(这个s指向新创建的结点) C=A;//(A的头结点做C的头结点)...原创 2019-07-27 11:00:51 · 571 阅读 · 1 评论 -
A,B带头结点,递增。将A,B归并成一个按元素值非递减(递增)有序的链表
算法思想:从A,B中选取最小的元素插入C的尾部。 //尾插法 void merge(LNode *A,LNode *B,LNode *&C) { LNode *p=A->next;//(p跟踪A的最小值结点),跟踪的开始结点是头结点后面一个 LNode *q=B->next;//(q来跟踪B的最小值结点) LNode *r;//(这个r要始终指...原创 2019-07-27 10:59:25 · 361 阅读 · 0 评论 -
链表_删除
要将第i个结点删去,要先找到第i-1个结点,删除其后继结点。(也就是将p的指针域next指向原来p的下一个结点的下一个结点) PS:还需释放删除结点的内存空间 完整: q=p->next; p->next=p->next->next; free(q); ...原创 2019-07-27 11:16:52 · 225 阅读 · 0 评论 -
顺序表一些题目
逆置元素 void reverse(Sqlist &L) { int i,j; int temp; for(i=0;j=L.length-1;i<j;++i;--j) { temp=L.data[i]; L.data[i]=L.data[j]; L.data[j]=temp; } } 删...原创 2019-07-29 17:11:45 · 783 阅读 · 1 评论 -
链表的一些题目
有一个递增非空单链表,设计让它删除值域重复结点,如:【1,1,2,3,3,3,4,4,7,7,7,9,9,9】经过删除后【1,2,3,4,7,9】 //法1 //p指向起始结点,将p与其后继比较,若相等就删除,否则指向下一个结点 //重复知道,后继为空 void delsll(LNode *L) { LNode *p=L->next,*q; while(p->ne...原创 2019-08-02 21:33:16 · 237 阅读 · 0 评论 -
链表_头插、尾插
头插法 生成新结点,将数据存至新结点数据域,将新结点插入当前表头(先将新结点s的next取代原来头结点C的next,再将s赋给C的next也就是连上s)。 void createlistF(LNode *&C,int a[],int n) { LNode *s; int ...原创 2019-07-24 20:06:31 · 246 阅读 · 0 评论 -
链表一些题目(补)
逆置一带头结点的链表 只能通过已有结点的重新组合 Void reversel(LNode *L) { LNode *p=L->next,*q; L->next=NULL; While(p!=NULL) { q=p->next; p->next=L->next; L->next=...原创 2019-08-05 20:29:45 · 163 阅读 · 0 评论