鱼C论坛

 找回密码
 立即注册
查看: 2650|回复: 3

如何将冒泡排序部分算法抽象成函数

[复制链接]
发表于 2017-12-23 14:10:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    function paixu(var n:Integer):String;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
 num:Array of Integer;

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 Str:String;
 i,j:Integer;
 temp:String;
begin
 Str:=Trim( Edit1.Text );
 SetLength(num,Length(Str));
 i:=1;
 j:=1;
 While ( i<=Length(Str) ) do
 begin
  While ((Str[i]<>#32)And(Str[i]<>#0)) do
  begin
   temp:=temp+Str[i];
   i:=i+1;
  end;
  num[j]:=StrToInt(temp);
  j:=j+1;
  i:=i+1;
  temp:='';
  Edit1.Text:=paixu(i-1);  //系统提示此处有问题 Types of actual and formal var parameters must be idential
 end;
end;


function TForm1.paixu(var n:Integer):String;
var
 temp:Integer;
 m,k,j:Integer;
begin
  For m:=1 to n-1 do
 begin
  k:=n-m;
  For j:=1 to k do
  begin
   If (num[j]>num[j+1]) then
   begin
   temp:=num[j];
   num[j]:=num[j+1];
   num[j+1]:=temp;
   end;
  end;
 end;
 Edit1.Text:='';
 For j:=1 to n do
 Result:=Edit1.Text+' '+IntToStr(num[j]);
end;


end.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-27 00:00:23 From FishC Mobile | 显示全部楼层
我也是刚学
76 jieguo:=jieguo+.‘ ’
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-27 00:09:58 From FishC Mobile | 显示全部楼层
inttostr(num[j])
end;
result:= jieguo
74 去掉
传址那里传j的过去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-27 00:15:17 From FishC Mobile | 显示全部楼层
51哪里写在循环外
edit1.text:=paixu(j);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 13:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表