public void sort(int[] num,int left,int right)
{
int i = left;
int j = right;
int mid = num[(left + right) / 2];
do
{
while ((i < right) & (num[i] < mid)) { i++; }
while ((j > left) & (num[j] > mid)) { j--; }
if (i <= j)
{
int x = num[j];
num[i] = num[j];
num[j] = x;
i++; j--;
}
}
while (i <= j);
if(left<j)sort(num, left, j);
if(i<right)sort(num, i, right);
} int[] num = { 5,89,68,23,65,28,19};//被排序的数组
sort(num, 0, 6);//调用函数结果是5 19 23 19 19 28 19
{
int i = left;
int j = right;
int mid = num[(left + right) / 2];
do
{
while ((i < right) & (num[i] < mid)) { i++; }
while ((j > left) & (num[j] > mid)) { j--; }
if (i <= j)
{
int x = num[j];
num[i] = num[j];
num[j] = x;
i++; j--;
}
}
while (i <= j);
if(left<j)sort(num, left, j);
if(i<right)sort(num, i, right);
} int[] num = { 5,89,68,23,65,28,19};//被排序的数组
sort(num, 0, 6);//调用函数结果是5 19 23 19 19 28 19
解决方案 »
- System::Windows::Forms::Form 类的对象都包含什么"非托管资源"?
- 哪位高手帮忙把这个C++代码转换为C# 最好带注释或者详细说明下
- 问个问题,急急急急急
- 在Excel创建多个workSheet?
- 【虚心请教孟子与幕白兄弟】如何拆分取得 html里的数组。。。。。。。。。。。。。。。。。。
- C#项目上传图片和显示图片
- 关于页面跳转
- XHTML 1.0不支持embed是怎么回事啊?
- 实现 局域网游戏 在网上连..IP 到 IP.
- 我实在是没招了,向高手请教关于base64解码的问题!!
- (20分) 如何用C# winform编写C\S软件的数据库连接、访问等功能
- 怎样来处理“xxxx12”转变成“xxxx.12”????
把思路搞清楚很好排序的
int x = num[j];
num[i] = num[j];
num[j] = x;
i++; j--; 这里面错了吧?
应该是
int x = num[i];
试试
public void sort(int[] num, int left, int right)
{
int i = left;
int j = right;
int mid = num[(left + right) / 2];
do
{
while ((i < right) & (num[i] < mid)) { i++; }
while ((j > left) & (num[j] > mid)) { j--; }
if (i <= j)
{
int x = num[j];
num[j] = num[i];
num[i] = x;
i++; j--;
}
}
while (i <= j);
if (left < j) sort(num, left, j);
if (i < right) sort(num, i, right);
}