我有一个链表,我需要创建一个在链表中给定点返回迭代器的方法。我目前有一个从头部开始的迭代器:
public Iterator<E> iterator( )
{
return new ListIterator();
}
我能给另一个的就是:
public Iterator<E> iterator(int x )
{
return new ListIterator();
}
我不确定如何利用给定的位置(X),这样才不会影响从head开始的ListIterator构造函数。
我尝试使用for循环到达"x“,但意识到这不会告诉迭代器从那里开始,所以我很困
#include <stdio.h>
int main()
{
int n, i;
int head = 0;
printf("No of Students:\n");
scanf("%d", &n);
int data[n];
int address_of_data[n];
int *next;
printf("Enter Marks:\n");
for (i = 0; i < n; i++)
{
scanf("%
我有以下结构:
struct Item
{
Item* nextPtr;
int intKey;
int intValueLength;
};
基于这样的结构,我需要维护几个链表,这意味着我需要跟踪每个链表的一个头指针。我已经考虑过使用一个数组( head ),它将包含每个列表的head指针。列表的数量是可变的,并将在运行时计算,因此我动态定义了如下数组:
int t = 10;
Item* HEADS = new Item[t];
首先,我需要将每个头指针初始化为NULL,因为当程序运行时链表是空的。如何执行此初始化?
for (int i = 0; i <=
我正尝试在链表类中进行基数排序。我找到了数组的基数排序算法,并试图将其更改为使用我的链表。然而,我有点挣扎。我试图更改的代码取自,我用一个数组测试了代码,它起作用了。有人知道如何在链表中实现基数排序吗?
//抽象类
abstract class DataList
{
protected int length;
public int Length { get { return length; } }
public abstract double Head();
public abstract double Next();
public abstract v
我需要在链表中找到最大值,以递归方式给出链表的头部作为参数。我不知道如何开始这个方法的递归部分。到目前为止,这是我所拥有的全部。
int maxOfList(List M){
List max = M;
if(M == null)
return max;
if(M.next > max){
max = M.restOfTheInts;
return maxOfList();
}
}
我创建了一个Some_class类型的链表,在类中,我创建了一个方法来插入和显示一些数据。在主类中,我创建了一个Some_class类型的链表,还创建了一个对象。我用我的Insert方法调用了这个对象,它运行得很好。然后我将对象添加到linkedlist中,如下所示:
LinkedList <Some_class> myL_L = new LinkedList<Some_class>();
Some_class e1 = new Some_class();
e1.insert_data(); //this is a method I made
myL_L.add(e1)