本文主要是介绍一个队列如何找出倒数第k个值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:一个队列如何找出倒数第k个值?
解:
第一种:如果这个队列是一个单项指针的队列,里面的结构如下
这样的话,可以建两个指针,一个循环到底的时候,控制两次指针相差k个元素,一个指针指向队列尾,另一个指针指向队列倒数第k个元素。
第二种:如果这个队列是一个单项指针的队列,里面的结构如下
id 标识是第几个,tatalcount标识总共是多少个。只要循环遍历链表totalcount-id =k就好了。
第三种:如果这个队列是一个双向指针的队列,里面的结构如下
pre 是前驱指针,next是后驱指针,item是元素值
这样在查找倒数第k的时候,只要从后往前遍历即可。
总结:
第一种方法,占用的资源最少,插入也相对容易一些。
第二种方法,插入相对麻烦一些,如果k在队列靠前,遍历更有优势。
第三种方法,插入相对麻烦一些,如果k在队列靠尾,遍历更有优势。
这篇关于一个队列如何找出倒数第k个值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!