小编Din*_*esh的帖子

哪种排序可以有效地将数据从升序排序到降序?

我想使用C实现对一组数据进行排序.我想知道哪种排序是有效的,时间复杂度最好的情况.请注意,数据仅按升序排列.我想按降序排序.哪一个效率更高,效率最低,为什么?任何人都可以解释它吗?

c sorting data-structures

2
推荐指数
1
解决办法
1189
查看次数

如何在二叉搜索树中删除具有2个子节点的节点?

如何删除二叉树中包含2个子节点的节点?

有什么方法可以删除它吗?我用Google搜索了一下.但是没有清楚地了解它.有人用图解表示来解释它吗?

如何从此图像中删除节点"5"以及结果可能是什么?

binary-search-tree data-structures

2
推荐指数
1
解决办法
4万
查看次数

如何将多个值作为参数传递给C中的线程?

在C中,我如何将多个参数传递给线程?

通常情况下,我是这样做的,

 pthread_create(&th,NULL,dosomething,(void*)connfd);


void * dosomething(void *connfd)
{

  // Doing something      

}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我只将connfd值传递给线程'th'.

有没有办法传递多个值,以便它对我有用?

还有一件事,我们可以将数组作为参数传递给线程吗?

c pthreads

2
推荐指数
1
解决办法
990
查看次数

如果我使用"realloc()",为什么Valgrind会产生"无效免费或删除"?

使用realloc()时,我用valgrind检查了它,如下所示

 valgrind --tool=memcheck --leak-check=yes --show-reachable=yes a.out
Run Code Online (Sandbox Code Playgroud)

而valgrind产生的错误信息是

==6402== Memcheck, a memory error detector.
==6402== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==6402== Using LibVEX rev 1575, a library for dynamic binary translation.
==6402== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==6402== Using valgrind-3.1.1, a dynamic binary instrumentation framework.
==6402== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==6402== For more details, rerun with: -v
==6402==
dinesh
vignesh
==6402== Invalid free() / …
Run Code Online (Sandbox Code Playgroud)

c valgrind realloc

2
推荐指数
2
解决办法
2544
查看次数

使用TCP通过Socket进行二进制文件传输

我正在开发一个二进制文件传输程序,客户端必须将文件上传到服务器.对于这种情况,我需要先发送文件名,然后再发送文件内容.但这对我来说不可行.

让我们看看代码:

// Client-side code to send file name
void sendFileName(
    int sd,         /*Socket Descriptor*/
    char *fname)    /*Array Containing the file name */
{       
    int n , byteswritten=0 , written ;
    char buffer[1024];
    strcpy(buffer , fname);
    n=strlen(buffer);
    while (byteswritten<n)
    {
        written=write(sd , buffer+byteswritten,(n-byteswritten));
        byteswritten+=written;
    }
    printf("File name : %s sent to server \n",buffer);
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我在socket上编写文件名,服务器将从socket读取名称,如下所示:

// Server-side code to read file name from client
while ((n = read((int)connfd, (fname + pointer), 1024)) > 0)
{
    pointer=pointer+n;
}
Run Code Online (Sandbox Code Playgroud)

好吧,问题是我必须在发送文件名后关闭客户端的写端,该文件名将是服务器端代码的FIN段,以停止从服务器读取.

如果我关闭读取结束,如:

shutdown(sd,SHUT_WR); …
Run Code Online (Sandbox Code Playgroud)

c sockets client-server shutdown file-transfer

2
推荐指数
1
解决办法
1万
查看次数

期望:从输出中提取特定字符串

我正在远程机器上导航基于Java的CLI菜单,期望在bash脚本中,我试图从输出中提取一些内容而不离开期望会话.

我的脚本中的Expect命令是:

expect -c "
spawn ssh user@host
expect \"#\"
send \"java cli menu command here\r\"
expect \"java cli prompt\"
send \"java menu command\"
"
###I want to extract a specific string from the above output###
Run Code Online (Sandbox Code Playgroud)

期望输出是:

Id       Name
-------------------
abcd 12  John Smith
Run Code Online (Sandbox Code Playgroud)

我想abcd 12从上面的输出中提取另一个期望变量,以便在expect脚本中进一步使用.所以这是第3行,第一个字段是使用双空格分隔符.awk等价物将是:awk -F ' ' 'NR==3 {$1}'

最大的问题是,我正在使用Expect导航的环境是,如上所述,基于Java CLI的菜单,所以我不能只使用awk或其他任何可从bash shell获得的东西.

从Java菜单中退出,处理输出然后再次进入不是一个选项,因为登录过程持续15秒,所以我需要留在内部并使用expect内部命令从输出中提取我需要的内容.

tcl expect

2
推荐指数
1
解决办法
1万
查看次数

语义UI按钮单击导致其他页面重新加载

我正在探索Semantic UI,我在一个表单中遇到了一个按钮点击事件,我目睹了一个奇怪的行为.

演示

<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8" />
    <title>Semantic UI CDN</title>
    <link rel="stylesheet" href="semantic.css" />
    <script src="jquery.min.js"></script>
    <script src="semantic.js"></script>
</head>

<body style="margin:1em;">
    <!-- Your Semantic UI Code -->
    <br/><br/>

    <h1 class="ui center aligned icon header">
            First Form
    </h1>

    <form class="ui form"  style="">

        <div class="inline fields" id="ir_num_row_div">
                <div class="three wide field required">
                    <label>Name</label>
                </div>
                <div class="five wide field">
                    <input type="text" id="name" placeholder="Your good name goes here..">
                </div>
        </div>


        <div class="inline fields">
            <div class="three wide field required">
                <label>Place</label> …
Run Code Online (Sandbox Code Playgroud)

jquery semantic-ui

2
推荐指数
1
解决办法
2437
查看次数

如果连续存在两个以上的空格,则删除字符串中的空格

可以说我有这样的字符串,

String sample = "This is a sample  string    with more than   two spaces in      a string   ";
Run Code Online (Sandbox Code Playgroud)

现在我需要做的是使字符串在每个单词之间只有一个空格.提前致谢.

regex string

1
推荐指数
1
解决办法
4096
查看次数

使用TCL替换文件中无法识别的字符

我正在编写一个脚本来读取文件并替换一些包含无法识别的字符的字符

"^H^H^H^H^H^H^H^H^H"
Run Code Online (Sandbox Code Playgroud)

实际上,这个文件是通过重定向telnet会话的控制台输出生成的.我想删除这个角色.我必须从文件中删除"--More ---".

我试着用它来替换它们

set fileID [open "bar" r]
set temp [open "temp.txt" w+]
while {[eof $fileID] != 1} {
    gets $fileID lineInfo
    regsub -all "More" $lineInfo "" lineInfo
    regsub -all "--More--" $lineInfo "" lineInfo  #This is not working
    puts $temp $lineInfo
}
Run Code Online (Sandbox Code Playgroud)

我可以删除"更多",但我无法删除" - 更多 - ".任何人都能解释一下吗?

我也尝试过

regsub -all "^H^H^H^H^H^H^H^H^H" $lineInfo "" lineInfo  #This is also not working
Run Code Online (Sandbox Code Playgroud)

这也行不通.

提前致谢.

tcl

1
推荐指数
1
解决办法
1183
查看次数

在Java中再次使用相同的变量之前使变量为null

我只是检查一些表达式的正则表达式,在方法中,我一次又一次地重用该变量

Pattern pattern = Pattern.compile("([^test])");
        Matcher matcher = pattern.matcher("SS");
        if (matcher.find()) {
            return false;
        }
        //Making it 'null' before re-use
        pattern = null;
        matcher = null;
        pattern = Pattern.compile("([newtest]){4,}");
        matcher = pattern.matcher("test");
        if (matcher.find()) {
            return false;
        }
        pattern = null;
        matcher = null;
        pattern = Pattern.compile("[stack]{2,}");
        matcher = pattern.matcher("overflow");
        if (matcher.find()) {
            return false;
        }
Run Code Online (Sandbox Code Playgroud)

null在设置其他新值之前,将变量设置为好吗?

它有意义吗?

注意:它可能是非标准的符号,再次使用相同的变量,但我只是想知道在重新赋值之前是否可以使变量无效?

java null variable-assignment

1
推荐指数
1
解决办法
614
查看次数