问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C语言快速排序的代码

发布网友 发布时间:2022-04-29 20:37

我来回答

3个回答

热心网友 时间:2022-06-22 11:18

首先我赞成你直接要代码的这种方法。
从你这个提问可以看出你对常用的排序算法都接触过,并且都没搞懂到底是怎么回事。
现在的电子平台资源都很丰富了,硬件平台的运行速度可以做到很高了,在大多数的情况下可以考虑用空间换时间的方法,也就是说你应该先搞懂算法的本质,然后再自己去实现它,开始的时候可以不考虑时间上的损耗。
排序的本质就是两个数比较大小,并根据其大小将其放到相应的位置。
记住其本质是什么,你自己绝对可以使用相应的语言实现它。

热心网友 时间:2022-06-22 11:19

快速排序也叫shell排序。。。这是我以前写的代码中的一段:
你可以拿去直接用。。。

void modInsertSort(int* data,int n,int delta)
{
int i,j,temp;
for(i=delta;i<n;i+=delta)
for(j=i;j>=delta;j-=delta)
{
if(data[j]<data[j-delta])
temp=data[j],data[j]=data[j-delta],data[j-delta]=temp;
else
break;
}
}

void shellSort(int data[],int len)
{
int i,delta;
for(delta=len/2;delta>0;delta/=2)
for(i=0;i<delta;i++)
modInsertSort(&data[i],len-i,delta);

if(len<=10)
for(i=0;i<len;i++)
printf("%-5d",data[i]);
puts("\n");
}

热心网友 时间:2022-06-22 11:19

void QuickSort(int ar[],int t,int w)
{
int i,j,k;
int tmp;
if (t<w)
{
i=t;j=w;
while(i<j)
{
tmp=ar[i];
while((ar[j]>=tmp)&&(j>i))
{
j--;
}
if (i<j)
{
ar[i]=ar[j];
i++;
}
while((ar[i]<=tmp)&&(j>i))
{
i++;
}
if (i<j)
{
ar[j]=ar[i];
j--;
}
ar[i]=tmp;
QuickSort(ar,t,j-1);
QuickSort(ar,j+1,w);
}
}
}
C语言快速排序代码

quicksort(a,11);for(int c=1;c&lt;11;c++)printf("%3d",a[c]);}

c语言怎样实现快速排序

c = arr_num[i];arr_num[i] = arr_num[j];arr_num[j] = c;} } //left为起始值(参照值)此时的I为第一次排序结束的最后值,与参照值交换位置 arr_num[left] = arr_num[i];arr_num[i] = temp;//继续递归直到排序完成 quick_sort(left, i-1);quick_sort(i+1, right);} i...

C语言快速排序

/快速排序算法/ int Partition(int D[], int l, int r){ D[0]=D[l];while (l&lt;r) { while (l&lt;r &amp;&amp; D[0]&lt;D[r]) r--;D[l]=D[r];while (l&lt;r &amp;&amp; D[0]&gt;=D[l]) l++;D[r]=D[l]; } D[r]=D[0];return r;} void Qsort(int D[], int l, int r){ int p...

菜鸟提问 c语言关于快速排序

其实,最想说明的是那段交换的代码 R[j]^=R[i];R[i]^=R[j];R[j]^=R[i];一定要排除 i==j 的情况。即自己与自己交换的情况。如:a=9;a^=a;/*a=0*/ a^=a;/*a=0*/ a^=a;/*a=0*/ a就不再是10了。include&lt;stdio.h&gt; include&lt;stdlib.h&gt; void quicksort(int R[],int...

求助C语言快速排序

void QuickSort(int A[], int n, int left, int right){ /*快速排序(升序),n为数组元素个数,left/right为数组左/右边界*/int i, j, t;if (left&lt;right){ /*一趟快速排序*/i = left + 1;j = right;while (1){while (i &lt;= right &amp;&amp; A[i] &lt;= A[left]) i++; /*向...

c语言函数快速排序问题

int list[]={98,34,56,27,78,73,70,90,28,84,45,85,12,18,54,34,29};int i;qksort(list,0,16);for(i=0;i&lt;17;i++){ printf("%d ",list[i]);} printf("\n");return 0;} int qksort(int a[],int leftposition,int rightposition){ int pivot,i,j,swap;if(right...

C语言一个快速排序的问题 我应该是传参的问题 但我不知道该如何改 请大...

下面是《算法导论》里快速排序的实现,希望对你有用:include&lt;stdio.h&gt;void swap(int *a,int *b){ int t =*a; *a = *b; *b = t; return;}int partition(int a[],int start,int end){ int x = a[end]; int i = start -1; int j; for(j= start...

c语言生成50个随机数,对随机数进行快速排序。

//快速排序(降)void quicksdown(int *arr,int low,int high){ int temp,l,r;if(low&lt;high){ l=low;r=high;temp=arr[low];while(low&lt;high){ while(low&lt;high&amp;&amp;arr[high]&lt;=temp)high--;if(high==LEN)high--;if(low&lt;high)arr[low]=arr[high];while(low&lt;high&amp;&amp;arr[low]&gt;=temp)low...

如何用C语言输入十个随机的数进行排序?

1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:2、此处用到快速排序思想,通过一趟排序将要排序的数据分割成独立的两部分,即这里用i和j两个变量分割数据,然后一部分的所有数据都比另外一部分的所有数据都要小,接着对这两部分...

用C语言快速排序法编程按从大到小输出下面十个数(24,2,8,32,87,45...

QuickSort(low,Low-1,array); /*对基准点左边的数再执行快速排序*/ QuickSort(Low+1,high,array); /*对基准点右边的数再执行快速排序*/ } } void main() { int array[]={24,2,8,32,87,45,16,2,12,40};int i=9;QuickSort(0,9,array);for(;i&gt;=0;i--)printf("%d "...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
北海市火车站公安临时办证点几点上班 浓缩的都是精华之大海——拉利玛 浓缩的都是精华作文 梦到捡到钱是什么预兆周公解梦(梦见自己捡钱了周公解梦) 孔明锁怎么拆更加省力? ...的,唱歌特别显累。现在练气息发声,感觉遇到了新的问题。是不是_百度... 交了首付没签购房合同是不是可以退房 财付通的支付密码是什么 苹果iPad怎么修改键盘大小 海尔空调f1怎么解决? C语言快速排序代码 上海黄金交易所,在合肥有分公司么? 如何快速将CAD标注尺寸对齐?- 问一问 CAD中如何快速标注尺寸? 缥的同音字,并组词。谢谢 窦娥冤中所有通假字、生字及注音都有什么? 飘的同音字是什么 比一比再组词缥 缥的形近字怎么组词 缥字组词 缥的组词 用缥组词 缥组词有哪些词语 网易快三做单是骗局? 缥怎么组词 缥字有哪两个读音,该怎么组词 幸运快三是什么 苹果xr右上角下拉失灵- 问一问 求情侣之间最美情话,短句,1不要超过15个字 情侣之间开车的情话 C语言,快速排序算法 快速排序算法c语言 关于快速排序C语言算法 C语言的快速排序的算法是什么啊? c语言实现快速排序 要好看的英文字体,发图,满意必采纳 [英文字体]有哪些很漂亮的?求详细! 用C语言编写一个快速排序算法 输入10个数 C语言有算法怎么做快速排序呢。 漂亮的英文字体 C语言快速排序 英文漂亮手写字体都有哪些?求大神回复,常用的那种 请哥哥姐姐为我设计个简单的快速排序算法,C语言的,谢谢啦! c语言快速排序 谁能给我讲讲下面的代码啥意思 美图秀秀好看的英文字体,最好附图。 用C语言编写函数,要实现快速排序算法或者冒泡法 C语言 快速排序 求一款英文字体。!!!有图片。对了分全给你了 最好给上效果图。 怎样使用C语言实现如下算法: 输入任意10个数,用快速排序算法,按降序排序后输出 如何评价电影《超强台风》?
  • 焦点

最新推荐

猜你喜欢

热门推荐