![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
高飞的潴
这个作者很懒,什么都没留下…
展开
-
多项式的加法运算(等待修改)
#include #include int a[100];int main(){int i,n,x,z,k;memset(a,0,sizeof(a));printf("请输入第一个多项式的项数:");scanf("%d",&n);for(i=1;i{printf("请输入f1第%d项的指数:",i);scanf("%d",&z);printf("原创 2013-09-10 18:44:21 · 544 阅读 · 0 评论 -
使用Dijkstra迪杰斯特拉算法获得单源最短路径
在连通图当中 ,常常出现求出某一个点到其他各个点的最短路径问题Dijkstra迪杰斯特拉算法就是用来解决这种问题的一种方法简单的来说,Dijkstra算法就是不断的去使用贪心策略来解决问题以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率并不高。现有如下的例题:/** * 1.sure原创 2015-04-17 17:21:58 · 1339 阅读 · 0 评论 -
静态链表的创建以及基本操作
#include #include #define Max 100typedef int ElemType;/*定义每个节点的数据信息*/typedef struct Node{ ElemType data;//节点中存放的抽象数据 int next;//记录下一个节点的位置(位置由下标唯一决定)这里的next就是下个元素在结构体数组中的下标}SLNode;/*静态链表的定原创 2013-09-26 23:28:52 · 5081 阅读 · 0 评论 -
循环双向链表的创建方法 最简单的循环双向链表
首先讲循环链表,简单来说就是让链表首尾相连,形成一个环,因为一般的链表都是单向的,任意给出的一个节点是不能访问前面的链节,这就导致了单向链表的局限性,循环链表从一定程度上来说就解决了这一问题,通过表头指针的移动,因为环的特性,可以访问完整个链表;但是我们不禁会想,如果只是为了访问已知链节的前一个节点,通过循环虽然达到了访问的目的,但是走遍整个链表岂不是太花费时间了么,就好比北京——天津——上海原创 2013-06-06 23:44:10 · 4635 阅读 · 0 评论 -
动态链表的删除 插入 查找操作
#include #include struct node{int data;struct node *next;}; //结构体的定义void search(struct node *head,int i){int j;struct node *p=head;for(j=0;j{p=p->next;}printf("您所查找的第%d个数据为:%原创 2013-06-05 23:42:29 · 2640 阅读 · 2 评论 -
动态链表的头插法
#include using namespace std;struct node{int data;struct node *next;};void main(){int i,num;struct node *p,*q;p=q=(struct node *)malloc(sizeof(struct node));p=NULL;for(i=0;i原创 2013-06-04 21:46:49 · 562 阅读 · 0 评论 -
动态链表的建立—尾插法
今天尝试了简单动态链表的建立 不幸的是失败了 目前还没有找出错在哪儿 明天一定要搞清楚错误的原因 到时在对本文进行修改#include using namespace std;struct node{int num;struct node *next;};void main(){ int i,num; struct node *head;原创 2013-06-02 22:46:09 · 1565 阅读 · 0 评论