自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

转载 一个问题多种算法

例:y=a0 + a1*x + a2*x^2 + .....+ an*x^n设计算法,求出给定任意x,得到的y的值第一种思路,通过循环,依次相加代码如下double myfction(int m, int a[],double x) //m表示多少个常数项,数组a接收存放常数项的数组,x存放指定的数据{ double p=0; int i;...

2019-09-01 14:06:00 905

转载 双链表(三)

双链表的插入排序双链表的插入排序和单链表的方法一样,唯一不同的是双链表多了一个指向前一个节点的指针,在交换数据的时候需要多交换一点东西前面分享的单链表的插入排序,方法如下:1.将一个完整的链表分成两部分,一部分是有序的,也就是只含头节点和一个数据节点,另一部分为无序的。2.将无序的部分一个节点一个节点按照从小到大的规则,插入到有序的部分,直到最后一个节点。代码如...

2019-08-26 15:54:00 90

转载 双链表(二)

双链表的插入新节点与删除节点关于插入新节点,双链表和单链表用到的方法一样,唯一不同的是双链表还需要将指向前一个数据节点的指针里面存放的地址按照逻辑进行交换关于删除节点,单链表用到了两个指针,一个指针指向需要删除的某一个节点,另一个指针指向删除前面一个节点,才可以做到整个链表不会乱,双链表因为有一个指针是指向前面一个节点的,因此就不需要再重新声明一个指针。插入节点:vo...

2019-08-25 12:08:00 77

转载 双链表(一)

双链表头节点,数据节点的创建单链表的创建会了之后,双链表也很容易就会,只是多了一个指针指向前面一个节点。头节点的创建#include<iostream>using namespace std;struct node{ int a; struct node *next; //指向下一个节点的指针 struct no...

2019-08-23 18:04:00 64

转载 单链表的冒泡法排序

冒泡法排序,是我们在刚一接触程序的时候就掌握了的很简单的一种排序算法,思想主要就是不断循环不断找到最大值依次将最大值向右移动。在链表里面,我们要将数据节点里面的数据按从小到大的顺序排序,常用的插入排序,前面有分享到,它是典型的交换地址,从而实现插入,我们当然也可以用不交换地址,只需要交换数据节点值的方式去实现排序。代码如下:void node_px_up(node *he...

2019-08-19 15:45:00 178

转载 单链表学习(五)

前面分享了如何删除链表里面的任意数据节点,今天分享如何删除所有数据节点里面含最大值的数据节点。既然要删除含最大值的数据节点,那么首先要找到哪个数据节点含最大值,于是就可以假设第一个数据节点为最大值,那么我们就拿一个最大值指针指向它,然后依次往后面比较,如果有比他更大的数,就让最大值指针指向更大的数,直到比较完所有的节点为止。实现这个算法,会用到四个指针,其中两个指针p,q。...

2019-08-18 11:02:00 71

转载 单链表(四)

前面分享了在任意位置插入新的数据节点,今天分享删除任意节点。如图,定义了两个结构体指针p和q,p指向第一个数据节点,q指向p的前面一个,p的作用就是找到需要删除的数据节点,而q则是用来将p指向的数据节点里面存放的下一个数据节点的地址拿给q指向的数据节点,这样保证删除了之后,后面的节点不会消失。找到需要删除的数据节点,和前面找到插入的位置的方法一样代码如下:v...

2019-08-17 10:55:00 75

转载 单链表学习(三)

前几天分享了链表数据节点的创建和访问,今天分享关于计算链表数据节点的长度,然后在此基础上实现任意位置的插入新的数据节点。void node_lenth(node *head) //计算链表长度的函数,不管什么操作,都需要知道头节点的地址,因此需要传递头指针{ int n = 0; //定义一个变量 n用来统计节点的长度 node *p; //定...

2019-08-15 11:00:00 86

转载 单链表学习(二)

在链表学习(一)里面分享了链表头节点和数据节点的创建。今天分享一下有关链表节点的访问。如上图所示,我采用的是在头节点后面创建数据节点的方法,我们要访问a1这个数据节点的时候,我们需要得到它的地址才能访问,而a1节点的地址在a2节点的指针里面,所以要访问a1数据节点需要访问到a2数据节点,依次类推,访问a2数据节点,我们又需要a2数据节点的地址,因此我们需要访问a3数据节点,a3数据节...

2019-08-14 16:13:00 131

转载 单链表学习(一)

关于链表的概念,原理,具备的优点和缺点,以及示意图等这里就不过多介绍了。书本上或者百度上,其他博主上都可以了解学习。我主要分享链表的一些基础算法。直接进入主题吧。今天分享的是关于链表头节点和数据节点的创建。我们创建一个链表,一般来说都会创建一个头节点,头节点里面不放然后数据,只需要在指针里面放入下一个数据节点的内存地址就行了,当我们需要访问数据节点的时候就从头节点开始依...

2019-08-13 16:08:00 106

转载 结构体指针

今天对结构体指针谈一谈自己的看法与理解。一想到指针,自然而然就知道用它来干嘛,可以用来存放内存地址,用来间接访问,间接修改,也可以用到函数里面实现更多值的返回等等,关于结构体指针,当然也肯定少不了用来间接访问结构体里面的数据成员。我觉得更重要的是,为学习后面的链表打下基础。下面是定义好的一个结构体struct node{ int a;};struct ...

2019-08-11 15:14:00 966

转载 链表插入排序——单指针移动

前面分享了双指针移动实现插入排序,第一个指针pre的作用是为了插入数据节点,第二个指针prel作用是和待插入的数据节点进行比较,今天分享只用一个指针实现链表的插入排序。需要注意的只有一点指针必须在比较的数据节点之前,这样才能实现交换内存地址,从而实现插入功能。关于图,请大家看前面的双指针实现链表插入排序的博文,只需要将prel这个指针删除掉就行直接分享核心代码node...

2019-08-09 11:49:00 198

转载 链表插入排序——双指针移动

在链表插入排序时,需要将一个链表拆分成两个链表,其中一个为有序链表,也就是只含头节点和一个数据节点,因为当只有一个数的时候就是有序的,另外一个链表含有剩下的数据节点,我们要实现的就是将这个含有剩下数据节点的链表一个节点一个节点的按从小到大的顺序插入到只有一个数据节点的链表里,从而实现链表从小到大的排序。如上图,将一个链表拆分成两个链表,q指向含剩下数据节点的链表接...

2019-08-08 19:38:00 231

转载 指针数组的应用

在实现排序功能的时候,一般都是通过交换值的形式,通过循环逐渐得到我们想要的顺序。但是有时候排序通过值的交换实现起来比较麻烦,因此我们可以引用指针数组,通过交换地址的方式来得到我们想要的顺序。例:char a[4][10]={"CHINA","china","ABC","abcdef"} 将四个字符串通过从小到大的顺序依次排序,如果用交换值的形式,实现起来就会比较麻烦。但是通过指针数...

2019-08-07 21:57:00 351

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除