首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

求一排序算法 技术分进大版前100了,300分,您懂的

2012-10-05 
求一排序算法 技术分进大版前100了,300分,你懂的求一排序算法神马排序都可以[解决办法]ListT.Sort()我啥

求一排序算法 技术分进大版前100了,300分,你懂的
求一排序算法

神马排序都可以



[解决办法]
List<T>.Sort()

我啥也不懂,走错门进来的。
[解决办法]
select X from tb order by X
[解决办法]
冒泡? 快速排序?
[解决办法]
private void btnRequest_Click(object sender, EventArgs e)
{

}
[解决办法]

淡定。。
if
++
else
--
[解决办法]
直接都用sort的说
[解决办法]
冒泡排序:

C# code
    void BubbleSort(int[] values)    {        for (int i = 1; i < values.Length; i++)        {            for (int j = values.Length - 1; j >= i; j--)            {                if (values[j - 1] > values[j])                {                    int temp = values[j - 1];                    values[j - 1] = values[j];                    values[j] = temp;                }            }        }    }
[解决办法]
冒泡排序
C# code
  private static void SortNum()        {            Int32[] array = new Int32[] { 1, 14, 8, 17, 3, 6 };            Console.WriteLine("冒泡排序前:");            for (int i = 0; i < array.Length; i++)            {                if (i == array.Length - 1)                    Console.Write(array[i]);                else                    Console.Write(array[i] + ",");            }            int temp = 0;            for (int i = 0; i < array.Length - 1; i++)            {                for (int j = 0; j < array.Length - 1 - i; j++)                {                    if (array[j] > array[j + 1])                    {                        temp = array[j];                        array[j] = array[j + 1];                        array[j + 1] = temp;                    }                }            }            Console.WriteLine("\n"+"冒泡排序后:");            for (int i = 0; i < array.Length; i++)            {                if (i == array.Length - 1)                    Console.Write(array[i]);                else                    Console.Write(array[i] + ",");            }        }
[解决办法]
//1 冒泡排序法
 public void Sort(int[] list)
 {
long begintime = System.DateTime.Now.Second*1000+System.DateTime.Now.Millisecond;
WriteLine(begintime);
int j,temp;
j= 1;
while((j<list.Length))
{
for(int i=0;i<list.Length -j;i++)
{
if(list[i]<list[i+1])
{
temp = list[i];
list[i] = list[i+1];
list[i+1] = temp;
}
}
j++;
}
long endtime = System.DateTime.Now.Second*1000+System.DateTime.Now.Millisecond;
WriteLine(endtime);
WriteLine(endtime-begintime);
}
//2 选择排序法
 public void SortChoice(int [] list)
 {
long begintime = System.DateTime.Now.Millisecond;
int min;
for(int i=0;i<list.Length-1;i++)
{
min=i;
for(int j=i+1;j<list.Length;j++)
{
if(list[j]<list[min])
min=j;
}
int t=list[min];
list[min]=list[i];
list[i]=t;


}
long endtime = System.DateTime.Now.Millisecond;
WriteLine(begintime);
WriteLine(endtime);
WriteLine(endtime-begintime);
}
//3 插入排序法
 public void SortInsert(int [] list)
 {
for(int i=1;i<list.Length;i++)
{
int t=list[i];
int j=i;
while((j>0)&&(list[j-1]<t))
{
list[j]=list[j-1];
--j;
}
list[j]=t;
}
}
//4 希尔排序法
public void SortShell(int [] list)
 {
int inc;
for(inc=1;inc<=list.Length/9;inc=3*inc+1);
for(;inc>0;inc/=3)
{
for(int i=inc+1;i<=list.Length;i+=inc)
{
int t=list[i-1];
int j=i;
while((j>inc)&&(list[j-inc-1]>t))
{
list[j-1]=list[j-inc-1];
j-=inc;
}
list[j-1]=t;
}
}
}
 


[解决办法]

探讨

引用:

冒泡排序:
C# code

void BubbleSort(int[] values)
{
for (int i = 1; i < values.Length; i++)
{
for (int j = values.Length - 1; j >= i; j--)
{
……


终于看到一个排序了。。。

[解决办法]
private void btnRequest_Click(object sender, EventArgs e)
{

}
[解决办法]
C/C++ code
#include<stdio.h>int a[5]={8,9,5,7,6};quicksort(int a[],int l,int r) {   int i=l,j=r;  int tmp=a[(l+r)/2],tt;  do  {       while(a[j]>tmp) j--;       while(a[i]<tmp) i++;if(i<=j){       tt=a[i];a[i]=a[j];a[j]=tt;  i++;j--;}  }  while(i<=j);  if(i<r)quicksort(a,i,r);   if(j>l)quicksort(a,l,j); }int main(){ int i,j; quicksort(a,0,4); for(i=0;i<5;i++) printf("%d ",a[i]); printf("\n"); return 0;}
[解决办法]
private void btnRequest_Click(object sender, EventArgs e)
{

}
[解决办法]
private void btnRequest_Click(object sender, EventArgs e)
{
此处略去N行代码...
}


[解决办法]
private void btnRequest_Click(object sender, EventArgs e)
{
 
}
[解决办法]
排序算法,有好几种经典的算法吧: 冒泡,折中排序等等,,,看效率吧
[解决办法]
探讨

//1 冒泡排序法
public void Sort(int[] list)
{
long begintime = System.DateTime.Now.Second*1000+System.DateTime.Now.Millisecond;
WriteLine(begintime);
int j,temp;
j= 1;
wh……

[解决办法]
冒泡,快速……各种排序算法点我
[解决办法]
C/C++ code
一、冒泡(Bubble)排序  ----------------------------------Code 从小到大排序n个数------------------------------------ void BubbleSortArray() {       for(int i=1;i<n;i++)       {         for(int j=0;i<n-i;j++)          {               if(a[j]>a[j+1])//比较交换相邻元素                {                    int temp;                    temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;                }          }       } }
------解决方案--------------------


C/C++ code
效率 O(n²),适用于排序小列表。     二、选择排序 ----------------------------------Code 从小到大排序n个数-------------------------------- void SelectSortArray() {     int min_index;     for(int i=0;i<n-1;i++)     {          min_index=i;          for(int j=i+1;j<n;j++)//每次扫描选择最小项             if(arr[j]<arr[min_index])  min_index=j;          if(min_index!=i)//找到最小项交换,即将这一项移到列表中的正确位置          {              int temp;              temp=arr[i]; arr[i]=arr[min_index]; arr[min_index]=temp; } } } -------------------------------------------------Code----------------------------------------- 效率O(n²),适用于排序小的列表。     三、插入排序 --------------------------------------------Code 从小到大排序n个数------------------------------------- void InsertSortArray() { for(int i=1;i<n;i++)//循环从第二个数组元素开始,因为arr[0]作为最初已排序部分 {     int temp=arr[i];//temp标记为未排序第一个元素     int j=i-1; while (j>=0 && arr[j]>temp)/*将temp与已排序元素从小到大比较,寻找temp应插入的位置*/ {     arr[j+1]=arr[j];     j--; } arr[j+1]=temp; } } ------------------------------Code-------------------------- 最佳效率O(n);最糟效率O(n²)与冒泡、选择相同,适用于排序小列表 若列表基本有序,则插入排序比冒泡、选择更有效率。     四、壳(Shell)排序——缩小增量排序 -------------------------------------Code 从小到大排序n个数------------------------------------- void ShellSortArray() {   for(int incr=3;incr<0;incr--)//增量递减,以增量3,2,1为例 {        for(int L=0;L<(n-1)/incr;L++)//重复分成的每个子列表 {    for(int i=L+incr;i<n;i+=incr)//对每个子列表应用插入排序    {       int temp=arr[i];       int j=i-incr;       while(j>=0&&arr[j]>temp)       {           arr[j+incr]=arr[j];           j-=incr; } arr[j+incr]=temp; } } } } --------------------------------------Code------------------------------------------- 适用于排序小列表。 效率估计O(nlog2^n)~O(n^1.5),取决于增量值的最初大小。建议使用质数作为增量值,因为如果增量值是2的幂,则在下一个通道中会再次比较相同的元素。 壳(Shell)排序改进了插入排序,减少了比较的次数。是不稳定的排序,因为排序过程中元素可能会前后跳跃。
[解决办法]
算了 搬砖挺累的。。。。 
十种排序算法
[解决办法]
C# code
private void btnRequest_Click(object sender, EventArgs e){ 以下内容回复可见...}
[解决办法]
直接上sort

恭喜楼主、、、
[解决办法]
C# code
 Array.Sort(array);
[解决办法]
上一个qsort啊....
[解决办法]
探讨

冒泡,快速……各种排序算法点我

[解决办法]
C# code
reservations.OrderBy(x=>x.BookingID);  //升序reservations.OrderByDescending(x=>x.BookingID);   //降序
[解决办法]
探讨

引用:

冒泡,快速……各种排序算法点我


我擦,,

[解决办法]

private void btnRequest_Click(object sender, EventArgs e)
{
最牛B的排序 Best = new 最牛B的排序(new int[]{1,2,11,33,44,234,34,21,0});
Best.Sort();
}
[解决办法]
算法太枯燥了,施主有没有兴趣算算命

热点排行