请教(100分)

  • 主题发起人 主题发起人 luweifeng
  • 开始时间 开始时间
L

luweifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
3 - 請用 C / C++ / Java 或者你最喜歡的編程語言,寫出順序排列 10000 條字串的代碼。假設字串都在一個 list.txt 檔內,輸出至 sort.txt
有那位大哥知道写这个程序.帮帮忙发一个给我,谢谢.
我的邮箱:luweifeng1983@126.com
 
要对字符串排列啊?头疼,关注下。
 
順序排列 10000 條字串
是虾米意思:)
 
就是说在文件list.txt中有多个字符串,要从该文件中读出来,并且排序,然后再写到sort.txt文件中.
 
按照什么规则排序?
我想这道题目的主要考点在于算法,至于I/O倒是其次
说一下要求的排序规则
 
我用c语言写了一点,但因为我对文件操作不熟练,我的思路是这样的.先读出字符串,放到二维数组中,在数组中排好序后再写到文件sort.txt 中,但有好些错误.高手请帮我改一改,我里面没写排序的函数.
main()
{FILE *in, *out;
int i;
char ch;
ch=fgetc(in);
char string[20][20];
if((in=fopen("list.txt","r"))==NULL)
{
printf("cannot open file/n");
exit(0);
}
if((out=fopen("sort.txt","w"))==NULL)
{
printf("cannot open file/n");
exit(0);
}
while(ch!=EOF)
{
for(i=0;i<20;i++)
{ while(ch==' '||ch=='/n') ch=fgetc(fp);
do
{int k=0;
string[k]=ch;
k++;
}
while((ch-1)==' '||(ch-1)=='/n');
/* fputc(string,out);
*/
}
}
for(i=0;i<20;i++)
{printf(&quot;%s&quot;,string);
}
fclose(in);
fclose(out);
}
 
排序可以是从小到大.
 
有没有那位高手帮帮忙啊.小弟感激不尽啊.
 
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
if OpenDialog1.Execute then
begin
sl := TStringList.Create;
sl.LoadFromFile(OpenDialog1.FileName);
sl.Sort;
sl.SaveToFile('c:/sort.txt');
sl.Free;
end;
end;
 
如果是要自己写代码来完成排序,建议你看看你Delphi的TStringList的Sort方法,也许对你会有帮助。
 
Delphi里的方法我不怎么会写,能帮我把那个函数写完整吗.谢谢.
 
我觉得把list.txt导入到数据库中,再用数据库排序,再导出到sort.txt应该快些,如果自己去用算法排序,似乎效率不如数据库排序高
 

Similar threads

I
回复
0
查看
800
import
I
I
回复
0
查看
656
import
I
I
回复
0
查看
876
import
I
I
回复
0
查看
843
import
I
后退
顶部