标签: data-structures

我怎样才能在Python中引用列表

说我有以下两个清单.

x = [1, 2, 3]
y = [4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

现在我想要一个包含对这些列表的引用的列表,

所以而不是想要

z = [x, y] -> [[1, 2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)

我想要以下内容

z = [ref of x, ref of y]
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中实现这一目标?

python list data-structures

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

字符串在C输出时成为符号

我在代码中输出一些字符串时遇到问题.当我输入1个字符串然后输出它时,根本没有问题.但是,当我输入至少2个字符串时,它就失败了.字符串成为符号,除了最后一个.这是截图:

在此输入图像描述

我一直在使用fflush(stdin)和fflush(stdout),但问题仍然存在.所以我该怎么做?我需要你的建议.

这是我的完整代码:

#include <stdio.h>
#include <stdlib.h>

void menu();
void entry();
void search();
void PrintSingle();
void PrintComplete();
float TotalUsed(int i);
float RegularCost(int i);
float tax(int i);
float discount(int i);
float TotalPayment(int i);

#define NMaks 101

typedef enum {false=0,true=1} boolean;
typedef struct {int BillNumber,BillClass;float LastMeter,CurrentMeter;char name[];} BillDatabase;
BillDatabase bill[NMaks];

int DataAmount=0;

int main() {

    menu();
    return 0;
}

void menu() {

    int i;

    repeat:
    system("cls");
    printf("\t\t.: Electric Billing System :.\n\n");
    printf("[1] Entries customer information\n");
    printf("[2] Search customer\n");
    printf("[3] Print single bill\n"); …
Run Code Online (Sandbox Code Playgroud)

c string gets data-structures

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

包含和不添加空字符串的ArrayList行为

新创建的ArrayList不添加任何元素看起来就像是ArrayList添加了一个空字符串.

这让我觉得新创建的ArrayList即使不添加任何元素也会在其中添加默认的空string或元素.

package cracking;

import java.util.ArrayList;

public class Ask
{
    public static void main(String[] args)
    {
        ArrayList<String> al = new ArrayList<String>();
        System.out.println(al.size());//0
        System.out.println(al);//[]

        al.add("");
        System.out.println(al.size());//1
        System.out.println(al);//[]
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,ArrayList两个场景中的大小之间的差异使它们不一致,特别是因为ArrayList打印出来的两个看起来一样.

为了保持一致性,我觉得,两个中的任何一个都会很好:

  1. 刚刚创建的ArrayList的大小,即使在向其添加任何元素之前,应该显示1暗示空字符串或元素,因为即使添加到ArrayList它使它看起来相同.
  2. ArrayList不应该允许打印出新创建的,它应该只打印NULL或其他东西,而不是[]像现在显示的那样显示

java whitespace arraylist data-structures

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

两个c#列表都被修改

我的两个列表都被修改,我试图避免这种行为......

这里有什么问题?

我有一个'大'列表,我想删除itemsToRemoveList中存在的所有项目,但没有修改原始列表.

我简化了示例代码..

List<string> aList = new List<string>(){"My","name","is", "jeff"}; // cached full list

List<string> bList = aList; // initial copy

List<string> itemsToRemoveList = new List<string>(){"jeff"};

bList.RemoveAll(itemsToRemoveList.Contains); // remove only from copy

foreach (string s in aList)
{
    Console.Write(s + " "); // expect "my name is jeff"
}
Console.WriteLine();
foreach (string s in bList)
{
    Console.Write(s + " "); // expect "my name is"
}
// however this modifies both collections. 

        Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

c# data-structures

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

创建可变二叉树时,键入名称T undefined

我是Rust的新手,为了练习,我正在构建一个简单的通用二叉树.这就是我在C++中创建一个的方法

template<typename T>
struct Node
{
    T data;
    Node<T>* parent;
    Node<T>* left;
    Node<T>* right;
};

template<typename T>
struct Bintree
{
    Node<T>* root;  
};
Run Code Online (Sandbox Code Playgroud)

但Rust中的相同(ish)代码似乎不起作用:

use std::ptr;

struct Node<T> {
    data: T,
    left: &Node<T>,
    right: &Node<T>,
    parent: &Node<T>,
}

struct Tree<T> {
    root: &Node<T>,
}

impl Tree<T> {
    pub fn new() -> Tree<T> {
        Tree { root: ptr::null() }
    }

    pub fn insert(&self, value: T) {
        if root.is_null() {
            self.root = Node {
                data: value,
                left: ptr::null(),
                right: ptr::null(),
                parent: ptr::null(), …
Run Code Online (Sandbox Code Playgroud)

tree binary-tree pointers rust data-structures

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

动态数组中扫描值的分段错误(int**arr)

此代码给出了分段错误.在GDB调试时,它给出了这个错误:

"程序收到信号SIGSEGV,分段错误.在_IO_vfscanf_internal中的0x00007ffff7a6dde5(s =,格式=,argptr = argptr @ entry = 0x7fffffffdba8,errp = errp @ entry = 0x0)at vfscanf.c:1902 1902 vfscanf.c:没有这样的文件或目录. "

void  readData()
{
int **arr,m;
scanf("%d",&m);
arr = (int **)malloc(sizeof(int)*m);
    for(int i=0;i<m;i++)
    {
    arr[i] = (int *)malloc(sizeof(int) * 2);
    }
    for(int i=0;i<m;i++)
    {
    printf("..%d ..\n",i); // if m = 20 then running only 12 times
    scanf("%d %d",&arr[i][0],&arr[i][1]);

    }
}

int main()
{
readData();
}
Run Code Online (Sandbox Code Playgroud)

如果m = 20那么,第二个循环只运行12次然后给出分段错误.第一个循环运行20次. 请帮帮我.

c malloc segmentation-fault dynamic-arrays data-structures

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

Rails耙db:structure:load与耙db:schema:load

结构是sql数据库的一个版本,而架构是数据库的一个Rails版本吗?您什么时候要加载?还是有所作为?

database rake schema ruby-on-rails data-structures

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

append()如何在引起这种情况的幕后工作?

我是Go的新手,试图在我的代码库中查找错误。在此过程中,我将问题简化为对的单个调用append(),但无法弄清为什么它的行为方式...

func main() {
    foo := []string{"a", "b", "c"}
    fmt.Printf("before: %v\n", foo)

    i := 0
    noop(append(foo[:i], foo[i+1:]...)) // -- call append, but do nothing with the result
    fmt.Printf(" after: %v\n", foo)
}

func noop(a interface{}) {} // -- avoid "evaluated but not used" errors
Run Code Online (Sandbox Code Playgroud)

在这里尝试

那么,这里到底发生了什么呢?

arrays go slice data-structures

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

哪种数据结构对键值对有效?

Key           value
1-5           A
7-10          B
11-15         C
Run Code Online (Sandbox Code Playgroud)

如果输入为4,则输出A,输入为8,输出为B,依此类推.我可以使用哪种数据结构来存储以下数据,因此您不应多次存储值.

我说HashMap,但效率不高.

PS我在面试时被问过.

java data-structures

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

HashTable订单价值如何?

我想知道hashtable在使用Put方法后如何对其值进行排序.

例如:

a         b           c       d                   e
Normal    2 weeks     Next    Save and Finish     Go to Cases
Run Code Online (Sandbox Code Playgroud)

hashtable.put( "一", "正常"); ...

值的顺序将不同,并且与我们放置的顺序不同.我认为订单会是这样的:

b         a        e              c         d                     
2 weeks   Normal   Go to Cases    Next      Save and Finish 
Run Code Online (Sandbox Code Playgroud)

请建议解决问题的数据结构.

谢谢.

java hashtable data-structures

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