我正在研究C中的单个链表,我想问为什么我们作为参数给出,例如,在插入函数void insert_element(struct Node** head, int element)双指针中,但在显示函数中void display_list(struct Node* head)指向head的单个指针.它们都给出相同的地址(我们称之为插入函数&).我们使用双指针因为我们修改列表插入或删除元素?
我正在制作一款有星星的 2D 游戏。我决定在名为 Star 的类中创建给出随机坐标的构造函数。
public Star(){
super(0,0);
x = randomX.nextInt(maxX - minX + 1);
y = randomY.nextInt(maxX - minY + 1);
}
Run Code Online (Sandbox Code Playgroud)
然后,在其他课程中我将它们放入 HashSet 中
Set<Star> star = new HashSet<>();
public Set<Star> generateStars(){
while (star.size() < numberOfStars){
star.add(new Star());
}
return star;
}
Run Code Online (Sandbox Code Playgroud)
当然,我有渲染和勾选方法,但我认为不值得粘贴它们。我的讲师告诉我,可以有相同的星星,为了防止我应该使用使用哈希码的身份函数。有人可以帮我解决这个问题吗?我想这个函数应该检查哈希码是否相同,如果是这样,它应该只返回一个值,这样我们就可以将 1 个对象而不是 2 个对象添加到 HashSet 中。我对吗 ?