Fork me on GitHub

冒泡排序的小程序

       这是我用ArrayList集合类做的小程序,用来展示冒泡排序算法的过程,相关代码和界面如下。

       界面:

 

代码:

[C# Code(WPF)]:

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Collections;

 

namespace SortedEbullition
{
    
/// <summary>
    
/// Window1.xaml 的交互逻辑
    
/// </summary>

    public partial class Window1 : Window
    
{
        
public Window1()
        
{
            InitializeComponent();
                    
        }

        

        ArrayList arrlist 
= new ArrayList();
        
private void additionClick(object sender, RoutedEventArgs e)
        
{
            
try
            
{

                
string temp = inputNumber.Text;
                
double addNum = Convert.ToDouble(temp);
                arrlist.Add(addNum);
                numberList.Text 
+= addNum + "\r\n";
                inputNumber.Text 
= "";
                inputNumber.Focus();
            }


            
catch (FormatException fEx)
            
{
                sortedNumber.Text 
+= fEx.Message;

            }

            
catch (InvalidCastException iCe)
            
{
                sortedNumber.Text 
+= iCe.Message;
            }

            
        }

    
    
        
        
private void resetClick(object sender, RoutedEventArgs e)
        
{
            inputNumber.Text 
= "";
        }


        
private void orderClick(object sender, RoutedEventArgs e)
        
{
            ArrayList temp 
= SortNumber.sort(arrlist);
            
/*int length = temp.Count;
            for (int i = 0; i < length; i++)
            {
                sortedNumber.Text += temp[i].ToString()+"\r\n";
            }
*/

            
foreach (double arr in temp)
            
{
                sortedNumber.Text 
+= arr.ToString() + "\r\n";
            }

            
        }


        
private void quit_Click(object sender, RoutedEventArgs e)
        
{            
            
this.Close();
        }

        
    }

    
class SortNumber                                      //这个类是冒泡排序的算法过程
    {  
    
        
public static ArrayList sort(ArrayList arrList)
        
{
            
int length = arrList.Count;
            
for (int i = 0; i < length - 1; i++)
            
{
                
for (int j = 0; j < length - i - 1; j++)
                
{
                    
if ((double)arrList[j] > (double)arrList[j + 1])
                    
{
                        
double temp = (double)arrList[j];
                        arrList[j] 
= arrList[j + 1];
                        arrList[j 
+ 1= temp;
                    }

                }

            }

            
return arrList;
        }

    


    }

}
posted @ 2009-04-23 21:17  TimGong  阅读(481)  评论(0编辑  收藏  举报