小编Lea*_*ner的帖子

如何在c#中实现strlen()?

我正在考虑一个解决方案来计算c#中的字符串长度而不使用Length 属性.

我能想到的事情就是这样做

程序在C#中

public static int strlen (string s)  
{   
    string temp = s + '/0';  
    char [] c = temp.ToCharArray();    
    int length = 0;    
    while (c[length]!='/0') length++;  
    length--;  
    return length;  
}
Run Code Online (Sandbox Code Playgroud)

但这是非常天真的编程,它还使用了1个额外的临时变量你能想到更好的解决方案吗?

c# string

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

在c#中实现strcmp(str1,str2)函数

我有以下功课问题:

有很多方法可以实现strcmp()函数.
请注意,如果str1按字母顺序排在str2之上,则strcmp(str1,str2)返回负数;如果两者相等,则返回0;如果str2按字母顺序排在str1之上,则返回postiveve.

在它中可以用C实现如下:

int mystrcmp(const char *s1, const char *s2) 
{ 
    while (*s1==*s2) 
    { 
        if(*s1=='\0') 
           return(0); 
        s1++; 
        s2++; 
    } 
    return(*s1-*s2); 
} 
Run Code Online (Sandbox Code Playgroud)

所以现在我想在C#中实现它,而不使用.NET的任何内置方法.我怎么能做到这一点?

c#

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

如果您在图书馆组织图书,您将如何存储它们以及您将使用哪种数据结构?"

我会使用哈希表并使用ISBN号作为密钥.因为这将给我一个O(1)的查找时间....因为在哈希表中查找的平均时间是O(1)....

我们也可以使用二进制搜索树.....查找时间是O(nlogn)...

你会使用什么数据结构?为什么?

data-structures

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

在c#中实现链接列表排序的麻烦

我无法实现排序算法(合并)为单个列表定义如下定义我的mergesort方法总是给我null ..我无法弄清楚什么是错误你们可以帮助我吗?

节点类

public class Node
        {
           private int data;
           private  Node next;
    }
Run Code Online (Sandbox Code Playgroud)

Linked List类

public class SSL
        {
            private Node head;
    }
Run Code Online (Sandbox Code Playgroud)

我的合并排序代码

public static void MergeSort(SSL a)
        {
            SSL x = new SSL();
            SSL y = new SSL();
            if (a.Head == null || a.Head.Next == null) // base case if list has 0 or 1 element
                return;
            AlternateSplitting(a, x, y);
            MergeSort(x);
            MergeSort(y);
            a = SortedMerge(x, y);
        }
Run Code Online (Sandbox Code Playgroud)

我实现了以下帮助方法来实现合并排序

AlternateSplitting:此方法将列表拆分为2个列表

public static void AlternateSplitting(SSL src, SSL odd, SSL …
Run Code Online (Sandbox Code Playgroud)

c# linked-list

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

我需要知道二进制堆代码的大O时间以及是否有改进

我需要知道我的二进制堆代码的大O时间是什么,以及如何改进它?

这是代码:

public static void CreateMaxHeap(int[] a)
{
    for (int heapsize = 0; heapsize < a.Length; heapsize++)
    {
        int n, p;
        n = heapsize;
        while (n > 0)
        {
            p = (n - 1) / 2;
            if(a[n]>a[p])
                Swap(a,n,p);
            n = p;
        }
    }
} // end of create heap
Run Code Online (Sandbox Code Playgroud)

java

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

标签 统计

c# ×3

data-structures ×1

java ×1

linked-list ×1

string ×1