请教高手:这是代码是什么语言,关于算法和数据结构
1. 请问最近如下的的代码是什么语言? 是C吗,还是C++
2. 能用C#代码来表示吗。
请高手帮我用C#的代码,表述一下第一题。
如果可以的话,把第二题,第三题也用C#写一些。 谢谢了.
1) 反转一个链表。循环算法。
List reverse(List l)
{
if(!l) return l;
list cur = l.next;
list pre = l;
list tmp;
pre.next = null;
while ( cur )
{
tmp = cur;
cur = cur.next;
tmp.next = pre
pre = tmp;
}
return tmp;
}
----------
2)广度优先遍历二叉树。
void BST(Tree t)
{
Queue q = new Queue();
q.enque(t);
Tree t = q.deque();
while(t)
{
System.out.println(t.value);
q.enque(t.left);
q.enque(t.right);
t = q.deque();
}
}
class Node
{
Tree t;
Node next;
}
class Queue
{
Node head;
Node tail;
public void enque(Tree t)
{
Node n = new Node();
n.t = t;
if(!tail)
{
tail = head = n;
}
else
{
tail.next = n;
tail = n;
}
}
public Tree deque()
{
if (!head)
{
return null;
}
else
{
Node n = head;
head = head.next;
return n.t;
}
}
---------------
输出一个字符串所有排列。注意有重复字符。
char[] p;
void perm(char s[], int i, int n)
{
int j;
char temp;
for(j=0;j<n;++j)
{
if(j!=0 && s[j]==s[j-1]);
elseif(s[j]!='@')
{
p[i]=s[j];
s[j]='@';
if(i==n-1)
{
p[n]='\0';
printf("%s", p);
}
else
{
perm(s,i+1,n);
}
s[j]=p[i];
}
}
}
void main() {
char s[N];
sort(s);
perm(s,0,strlen(s));
}