随笔分类 - 数据结构c语言版
25.判断带头结点的循环双链表是否对称
摘要://判断循环双链表是否对称 int Symmetry(DLinkList L) { DNode *p=L->next,*q=L->prior; while(p!=q&&p->next!=p) if(p->data==q->data) { p=p->next; q=q->prior; } else r
阅读全文
24.判断带头结点的B是不是A的连续子序列
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
23.带头结点的两个单链表合并共同元素到第一个释放其他节点和链表
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
22.带头结点的两个有序链表产生新的包含公共节点的链表
摘要:题目如下 解题思路 代码演示 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; /
阅读全文
21.将两个有序单链表归并为递减的单链表
摘要:题目如下 代码如下 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法
阅读全文
20.删除有序表中带头结点单链表相同元素
摘要:题目如下 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkL
阅读全文
19.带头结点单链表依次分别就地拆成两个线性表
摘要:题目如下 #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkL
阅读全文
18.将带头结点的单链表A按序号奇偶分解到A或B中
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
17.遍历带头结点单链表输出最小节点并释放
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
16.带头结点的单链表L,删除介于给定元素之间的元素
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
15.带头结点的单链表L,设计一个算法使元素递增有序
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
14.带头结点单链表头插法逆序输出
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; LinkList List_He
阅读全文
13.带头节点的单链表L中删除最小值的高效算法(假设最小节点唯一)
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
12.带头节点的单链表L,编写算法实现从尾到头反向输出每个节点的值
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
11.带头结点单链表 删除所有值为 x的并释放其空间
摘要:#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; //尾插法 LinkList L
阅读全文
10.查找数组中未出现的最小正整数
摘要:1.题目如下 2.解题代码 #include<stdio.h> #include<stdlib.h> int finMissMin(int a[],int n) { int i,*b; b=(int *)malloc(sizeof(int)*n); //初始化为0 for(i=0;i<n;i++)
阅读全文
9.求整数序列中的主元素
摘要:1.题目如下 2.解题代码 #include<stdio.h> int majority(int a[],int n){ int i,count=1,c=a[0]; for(i=1;i<n;i++) { if(a[i]==c) count++; else { if(count>0) count--;
阅读全文
8.数据结构 循环左移算法
摘要:今天学习数据结构与算法发现这个算法还是挺常用的,记录一下嘿嘿 C++代码 #include<stdio.h> //解题思想 由AB得到BA 可以将A逆置,B逆置,再将AB同时逆置 //1 2 3 4 5 6 7 8 //循环左移3次 //4 5 6 7 8 1 2 3 void Reverse(in
阅读全文
7.带头节点的双向链表
摘要:#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef struct DNode{ ElemType data; struct DNode *prior,*next; }DNode,*DLinkList; //初始化链表 boo
阅读全文