求一排序算法 技术分进大版前100了,300分,你懂的
求一排序算法
神马排序都可以
[解决办法]
List<T>.Sort()
我啥也不懂,走错门进来的。
[解决办法]
select X from tb order by X
[解决办法]
冒泡? 快速排序?
[解决办法]
private void btnRequest_Click(object sender, EventArgs e)
{
}
[解决办法]
淡定。。
if
++
else
--
[解决办法]
直接都用sort的说
[解决办法]
冒泡排序:
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; } } } }
[解决办法]
冒泡排序
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;
}
}
}
[解决办法]
#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)
{
}
[解决办法]
排序算法,有好几种经典的算法吧: 冒泡,折中排序等等,,,看效率吧
[解决办法]
一、冒泡(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; } } } }
------解决方案--------------------
效率 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)排序改进了插入排序,减少了比较的次数。是不稳定的排序,因为排序过程中元素可能会前后跳跃。
[解决办法]
算了 搬砖挺累的。。。。
十种排序算法
[解决办法]
private void btnRequest_Click(object sender, EventArgs e){ 以下内容回复可见...}
[解决办法]
直接上sort
恭喜楼主、、、
[解决办法]
Array.Sort(array);
[解决办法]
上一个qsort啊....
[解决办法]
reservations.OrderBy(x=>x.BookingID); //升序reservations.OrderByDescending(x=>x.BookingID); //降序
[解决办法]