bool(*p)啥意思,stl不懂...
c#有别的办法实现的
c#有别的办法实现的
解决方案 »
- SQL中image的长度
- 求助Marshal 装包和解包的问题
- C#listBox使用DrawItem来绘制Item,出不了水平滚动条
- 老大,问个问题,比较偏,关于WEBBROWSER的
- 请教一下:一些金融网站上的 股票 黄金的即时价格曲线图和参数数据是怎么获取的呢?
- 如何在listView中添加下拉列表和文本框?
- 关于使用正则表达式提取道路名称的问题,请教大家!
- Microsoft Agent中如何可以设置说话的显示时间和如何控制说话框中的分行显示?
- 哪里有.net控件的命名规则?
- 在web.config中建立数据库连接.
- 请问怎样获取一个文件的md5消息摘要?
- 超简单问题,设置哪个属性使Winforms不显示窗体,只弹出messagebox对话框
for(int j=i-1;j>=0&&p(x,arr[j]);j--) -> for(i-1;j>=0&&p(x,arr[j]);j--)
也就是去掉[int j=]
for(int j=i-1;j>=0&&p(x,arr[j]);j--) -> for(j=i-1;j>=0&&p(x,arr[j]);j--)
也就是去掉[int ]
public void delegate dSort(string [] sList);在Main里面Class1 class1 = new Class1();dSort ds= new dSort(class1.Sort);用的话你就 string [] s = new string {----------}; ds(s);就可以了,因为你的是void的 也不用返回 呵呵委托简单吧 不过方在你的排序方法上好像没有用 嘎嘎
using System;
using System.IO;
using System.Diagnostics;
class Class1
{
static void Main(string[] args)
{
string[]s={"right","yes","no","ok","look","good","well","china","book"};
foreach(string t in s)
Console.WriteLine(t);
Console.WriteLine("============");
Sort(s,new My(mysort));
foreach(string t in s)
Console.WriteLine(t);
Console.Read();
}
delegate bool My(string a,string b);
static bool mysort(string s,string t)
{
return s.CompareTo(t)>0;
}
static void Sort(string[]arr,My p)
{
for(int i=1,j;i<arr.Length;i++)
{
string x=arr[i];
for(j=i-1;j>=0&&p(x,arr[j]);j--)
arr[j+1]=arr[j];
arr[j+1]=x;
}
}
}C#版的整体实力不如C++版啊,难怪有人说C#的工资低,实际上是水平问题怀念C++!
也不用一个问题就把人都打扁吧?
另一个问题吧:
定义委托的参数名好像没用吧?
delegate void del(int a);
这个a根本无法使用,C++可以写成:
void(*del)(int)//只有类型,没有参数名C#中是多余的吧?
定义委托的参数名好像没用吧?
delegate void del(int a);
这个a根本无法使用,C++可以写成:
void(*del)(int)//只有类型,没有参数名C#中是多余的吧?
------------------------------------
写注释有什么用,这个参数名就有什么用.........参数名又不经过编译。
using System.IO;
using System.Diagnostics;
class Class1
{
public delegate bool sortFun(string s, string t); static void Main(string[] args)
{
string[] s ={ "right", "yes", "no", "ok", "look", "good", "well", "china", "book" };
foreach (string t in s)
Console.WriteLine(t);
Console.WriteLine("============");
Sort(s,mysort);
foreach (string t in s)
Console.WriteLine(t);
Console.Read();
}
static bool mysort(string s, string t)
{
return s.CompareTo(t) > 0;
}
static void Sort(string[] arr,sortFun p)//这里怎么写啊
{
for (int i = 1, j; i < arr.Length; i++)
{
string x = arr[i];
for (j = i - 1; j >= 0 && p(x,arr[j]); j--)//这里也要改吧
arr[j + 1] = arr[j];
arr[j + 1] = x;
}
}
}
{
return s.CompareTo(t) > 0;
}改成static bool mysort(string s, string t)
{
return String.Compare(s,t,StringComparison.Ordinal)==0;
}执行效率要高很多