简短的故事,我正在实现一个图表,现在我正在研究Kruskal,我需要一个优先级队列.我对优先级队列的定义是具有最小密钥的元素将首先出现?这是错的吗?因为当我在队列中插入加权边(或数字)时,它们不会最终排序.
PriorityQueue<Integer> tja = new PriorityQueue<Integer>();
tja.add(55);
tja.add(99);
tja.add(1);
tja.add(102);
tja.add(54);
tja.add(51);
System.out.println(tja);
Run Code Online (Sandbox Code Playgroud)
那将打印出来; [1,54,51,102,99,55].这不像我希望的那样排序!是的,我创建了一个进入优先级队列的comperator,该队列从edge对象中提取数字并根据该int进行比较.所以这应该有用,或者我只是完全误解了这个数据结构如何工作的整个概念?
Q1 - 在进行编译/调试时VS是否应该删除bin\debug区域中的现有文件?(适用于VS2008)
如果没有,那么请问:
Q2 - 我的winforms检查是否存在sqlite.db3文件并在需要时(以编程方式)创建它.如果我想要的行为是我所做的每个编译/调试都是为了清除目标调试区域,那么程序将运行构建数据库文件的代码,我该如何组织它?
谢谢
class private_object
{
private:
struct make_public;
friend struct make_public;
static void method1() {}
};
struct private_object::make_public
{
class nested_outer
{
void callFromOuter()
{ private_object::method1(); } // Should this be an error?
class nested_inner
{
void callFromInner()
{ private_object::method1(); } // How about this one?
};
};
};
Run Code Online (Sandbox Code Playgroud)
当我试图将一个开源项目移植到borland下编译时,这个友谊问题出现了.根据这里和这里的parashift和两个半相关的问题,上面的例子不应该是有效的.
然而,在七个不同的编译器1上测试之后,只有borland和dmc抱怨.这种行为让我感到惊讶,因为我并不期望友谊在嵌套类中是可传递的.
所以这提出了几个问题:
1.测试mingw-gcc 4.5.2,clang,borland c ++ builder2007,数字火星,开放式watcom,visualc2010和comeau在线
根据我对Java的理解,一切都是通过价值传递的.然而,当你开始谈论包含其他对象的对象时,事情会变得有趣,我希望能够更好地沟通,并确保我也完全理解.所以我的观点是,实际上只复制了对象中的基元,而另一方面它包含的任何对象......这些对象的值不会被复制,而只是这些对象的副本.
所以,如果我们与这些成员有一些对象
public class SomeObject {
private String name;
private String address;
private List<String> friends;
public SomeObject(String name, String address, List<String> friends) {
this.name = name;
this.address = address;
this.friends = friends;
}
}
Run Code Online (Sandbox Code Playgroud)
我们这样做了:
List<String> friendsList = new ArrayList<String>();
friendsList.add("bob");
friendsList.add("joe");
SomeObject so1 = new SomeObject("mike", "123 street", friendsList);
friendsList.add("zoe");
friendsList.add("rick");
SomeObject so2 = new SomeObject("david", "300 ave", friendsList);
System.out.println(so1.getName() + " " + so1.getAddress());
for (String friend : so1.getFriends()) {
System.out.println(friend);
}
System.out.println(so2.getName() + " " + so2.getAddress()); …Run Code Online (Sandbox Code Playgroud) 我正在尝试链接中提到的问题:https://sourceware.org/ml/libc-alpha/2009-06/msg00168.html
我在代码中做了一些修改,如下所述:
>> Cat libdep.c
#include <stdio.h>
int duplicate = 'u';
int get_duplicate() {
printf("libdep sees duplicate as: %c\n", duplicate);
printf("libdep sees duplicate address as: %x\n", &duplicate);
return duplicate;
}
--------------------------------------------------------------------------------------
>> Cat dynamic.c
#include <stdio.h>
extern int duplicate;
int run() {
duplicate = 'd';
printf("dynamic sees duplicate from libdep as: %c\n", duplicate);
printf("dynamic sees duplicate address as: %x\n", &duplicate);
printf("but libdep sees duplicate from main as: %c\n", get_duplicate());
return 0;
}
-------------------------------------------------------------------------------------------------
Cat main.c
#include <stdio.h> …Run Code Online (Sandbox Code Playgroud) 我一直在关注 Hadley Wickham 的《R for data science》一书。他对使用 lubridate 有很多建议,但很多函数都假设您有年、月和日。当您只有年和周时,如何使用 lubridate 转换为日期格式?
data.frame(
year = c(2015, 2015, 2016, 2016, 2016, 2016, 2016),
week = c(1, 20, 35, 49, 8, 4, 53)
)
#year week
#2015 1
#2015 20
#2016 35
#2016 49
#2016 8
#2016 4
#2016 53
Run Code Online (Sandbox Code Playgroud) 我正在从某个特定的div类中的网站上抓取所有文本。在下面的示例中,我想提取类“ a”的div中的所有内容。
site <- "<div class='a'>Hello, world</div>
<div class='b'>Good morning, world</div>
<div class='a'>Good afternoon, world</div>"
Run Code Online (Sandbox Code Playgroud)
我想要的输出是...
"Hello, world"
"Good afternoon, world"
Run Code Online (Sandbox Code Playgroud)
下面的代码从每个div中提取文本,但是我不知道如何仅包括class =“ a”。
library(tidyverse)
library(rvest)
site %>%
read_html() %>%
html_nodes("div") %>%
html_text()
# [1] "Hello, world" "Good morning, world" "Good afternoon, world"
Run Code Online (Sandbox Code Playgroud)
使用Python的BeautifulSoup,它看起来像site.find_all("div", class_="a")。
我正在进行一项研究项目,研究使人更有可能投票的因素,重点是人们离开投票站的距离.我是数百万人的完整选民登记和选民历史.有几种方式可以让某人投票(亲自,缺席,早期或临时)或不投票(未注册,注册但未投票,或没有资格投票).我的数据附有一栏(29),表明某人如何在某次选举中投票.NULL表示未注册,V表示亲自等.
对于回归分析,我想为每个选民类型创建一个不同的列(1表示是,0表示否,列号68-74)和另一个1/0列(数字75)表示是否有人投票.我在下面写的代码应该可以解决这个问题,但它在我的计算机上运行速度非常慢,甚至在一小时后也无法进入第1000行.除速度外,它完美无缺.我已被批准使用我大学的超级计算机*,但我想找出一个更快的算法.我的笔记本电脑和超级计算机上都有R和STATA,并且很乐意使用它们.
dcv.new <- read.csv("VoterHist.csv", header=TRUE)
# I previously set columns 68-75 to default to 0
for(i in 1:nrow(dcv.new))
{
if(is.na(dcv.new[i,29]))
{
dcv.new[i,69] <- 1
}
else if(dcv.new[i,29]=="V")
{
dcv.new[i,68] <- 1
dcv.new[i,75] <- 1
}
else if(dcv.new[i,29]=="A")
{
dcv.new[i,70] <- 1
dcv.new[i,75] <- 1
}
else if(dcv.new[i,29]=="N")
{
dcv.new[i,71] <- 1
}
else if(dcv.new[i,29]=="E")
{
dcv.new[i,72] <- 1
}
else if(dcv.new[i,29]=="Y")
{
dcv.new[i,73] <- 1
}
else if(dcv.new[i,29]=="P")
{
dcv.new[i,74] <- 1
dcv.new[i,75] <- 1
}
else if(dcv.new[i,29]=="X")
{ …Run Code Online (Sandbox Code Playgroud) 到目前为止,我总是猛拉或用y2y或删除2行d2d.
我发现你也可以做y1CR(CR是enter).除了数字1出现在命令上,它实际上猛拉了两行.
它也显示在底部2 lines yanked,不会发生使用y2y.
我找不到任何关于vim帮助的提及.这引出了两个问题:
编辑:虽然有很多的答案,没有一个人如果地址y2j和y1<CR>真的等同于每一种情况下,如果是这样,为什么2 lines yanked只在底部会出现只为<CR>命令.