![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
考研_数据结构
小白不回家
既然奋斗是生命的常态,那么奋斗当是你我的兴趣。
从基础做起,从现在做起。
展开
-
线性表真题仿造
算法思想:将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 · 112 阅读 · 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 · 105 阅读 · 0 评论 -
关于删除结点的实例
查找C中是否存在一个值为x的结点,若存在,删除该结点并返回1,否则返回01.查找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 · 149 阅读 · 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 · 523 阅读 · 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 · 313 阅读 · 0 评论 -
链表_删除
要将第i个结点删去,要先找到第i-1个结点,删除其后继结点。(也就是将p的指针域next指向原来p的下一个结点的下一个结点)PS:还需释放删除结点的内存空间完整:q=p->next;p->next=p->next->next;free(q);...原创 2019-07-27 11:16:52 · 165 阅读 · 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 · 680 阅读 · 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 · 181 阅读 · 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 · 202 阅读 · 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 · 115 阅读 · 0 评论