- 博客(5)
- 收藏
- 关注
原创 判断一个链表是否有环,如果有,找出环的入口地点并返回,否则返回NULL。
定义两个指针fast和slow,其中fast是快指针,slow是慢指针,二者的初始值都指向链表头,slow每前进一步,fast每次前进两步,两个指针同时向前移动,快指针每移动一次都要和慢指针比较,直到当快指针等于慢指针为止,就证明这个链表是带环的单向链表,否则,证明这个链表是不带环的循环链表(fast先行到达尾部为NULL,则为无环链表)。 解释:如果有环,fast一定比slow先入环,当slow到达环入口处,此时fast一定在环内,在这里我们可以假设slow在前面,fast距离slow的距离为n..
2021-06-29 20:39:57 320
原创 全排列函数
C++/STL中定义的next_permutation和prev_permutation函数则是非常灵活且高效的一种方法,它被广泛的应用于为指定序列生成不同的排列。按照STL文档的描述,next_permutation函数将按字母表顺序生成给定序列的下一个较大的序列,直到整个序列为减序为止。prev_permutation函数与之相反,是生成给定序列的上一个较小的序列。包含在头文件#inc...
2018-07-31 16:26:36 556
原创 结构体交换数据
#include<iostream>#include<algorithm>using namespace std; struct st{ int a; char b; };int main(){ st n[2]; n[0].a=1; n[0].b='a'; n[1].a=2; n[1].b='b';...
2018-07-18 11:49:51 9859 2
原创 有关int型一维数组和char型一维数组的输入
#include<stdio.h>int main{int a[1000];cin>>a;return 0;}是错误的;#include<stdio.h>int main{char a[1000];cin>>a;return 0;}是正确的;
2018-07-17 19:13:02 652 1
原创 STL
push_back()函数是向指向位置的前面插入元素;pop_back()是删除最后一个元素;front()是返回第一个元素的值;back()是返回最后一个元素的值;...
2018-07-17 10:04:20 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人