问题描述
这是一个程序,其中前 k 个元素必须在队列中反转,其余元素无效。我试图反转链表并认为它可能会起作用,但它正在删除队列中除第一个元素之外的所有元素。我觉得是有问题在逆向还是应该做不同的处理。谁能帮我这个。 请查看下面的反向功能。
我试过调试,但不允许使用递归。 代码如下:
public void print()
{
if(isempty())
{
return;
}
listnode current=front;
while(current != null)
{
System.out.print(current.data+"--->");
current=current.next;
}
System.out.println("null");
}
public void reverse(int pos)
{
int c=1;
listnode curr=front;
listnode prev=null;
listnode next2=null;
while(curr != null && c!=pos)
{
next2=curr.next;
curr.next=prev;
prev=curr;
curr=next2;
c++;
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(system.in);
lab8_2 queue=new lab8_2();
int n=sc.nextInt();
int pos=sc.nextInt();
for(int i=1;i<=n;i++)
{
int x=sc.nextInt();
queue.enqueue(x);
}
queue.print();
queue.reverse(pos);
queue.print();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)