如何将c语言实现按从小到大的顺序输出?

C语言实现将数组的六个元素按从小到大的顺序输出,可以采用内部排序算法对数组的元素进行排序,然后输出排序后的数组,就可以得到按从小到大的顺序输出。

以快速排序为例的排序代码:

void quickSort(int a[],int l,int r) {

   if(l>=r)

       return;

   int i = l;

   int j = r;

   int key = a[l];//选择第一个数为key

   while(i<j) {

       while(i<j && a[j]>=key)//从右向左找第一个小于key的值

           j--;

       if(i<j) {

           a[i] = a[j];

           i++;

       }

       while(i<j && a[i]<key)//从左向右找第一个大于key的值

           i++;

       if(i<j) {

           a[j] = a[i];

           j--;

       }

   }

   a[i] = key;

   quickSort(a, l, i-1);//继续排左部分,递归调用

   quickSort(a, i+1, r);//继续排右部分,递归调用

}

int main() {

   int a[]= {12,4,132,55,46,232};//随机数组

   int i,n = sizeof(a)/sizeof(a[0]);//获取数组大小

   quickSort(a,0,n-1);//快速排序函数入口

   for(i = 0; i < n; i ++)//输出排序后的结果

       printf("%d ",a[i]);

   return 0;

}

扩展资料:

排序算法的评价标准:

1、时间复杂度,即从序列的初始状态到经过排序算法的变换移位等操作变到最终排序好的结果状态的过程所花费的时间度量。

2、空间复杂度,就是从序列的初始状态经过排序移位变换的过程一直到最终的状态所花费的空间开销。

3、使用场景,排序算法有很多,不同种类的排序算法适合不同种类的情景,可能有时候需要节省空间对时间要求没那么多,反之,有时候则是希望多考虑一些时间,对空间要求没那么高,总之一般都会必须从某一方面做出抉择。

4、稳定性,稳定性是不管考虑时间和空间必须要考虑的问题,往往也是非常重要的影响选择的因素。

基本的内部排序:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、基数排序、堆排序。

参考资料来源:百度百科-排序算法



  • ...鎻忚堪瀵逛簬杈撳叆鐨勪换鎰忎笁涓暣鏁,灏嗗畠浠鎸変粠灏忓埌澶х殑椤哄簭杈撳嚭?
    绛旓細1銆佽緭鍏ヤ笁涓暣鏁皒,y,z锛岃鎶婅繖涓変釜鏁鐢卞皬鍒板ぇ杈撳嚭銆2銆佹墍闇瑕佺殑寮澶翠唬鐮侊紝#include "stdio.h"#include "conio.h"锛岄澶勭悊鍛戒护锛岃〃绀虹▼搴忓寘鍚玞onio.h搴撴枃浠禼onio.h搴撴枃浠跺畾涔変簡閫氳繃鎺у埗鍙拌繘琛屾暟鎹緭鍏ュ拰鏁版嵁杈撳嚭鐨勫嚱鏁般3銆佷笅闈㈣繖涓唬鐮佹槸鍏抽敭 int x,y,z,t; scanf("%d%d%d",&x,&y,&z)...
  • 鐢C璇█缂栦竴涓▼搴,瑕佹眰杈撳叆涓涓叉暟瀛,鎸夌収浠庡皬鍒板ぇ鐨椤哄簭杈撳嚭,鎬庝箞缂栧啓...
    绛旓細鎻掑叆鎺掑簭娉曪細include <stdio.h> void print(int* a, int n){ for(int i=0; i<n; i++){ printf("%d ",a[i]);} printf("\n");} void sort(int* a, int n){ for(int i=1; i<n; i++){ int t= a[i];//瑕佹彃鍏ョ殑鏁版嵁 int j;//瑕佹彃鍏ョ殑浣嶇疆 for(j=i; j>0 && ...
  • 缂栬緫C璇█绋嬪簭,浣縜,b,c涓変釜鏁鎸変粠灏忓埌澶х殑椤哄簭杈撳嚭
    绛旓細include "stdio.h"main(){ int a,b,c;int t;printf("璇疯緭鍏ヤ笁涓暟瀛楋細");scanf("%d %d %d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(b>c){t=b;b=c;c=t;} if(a>b){ t=a;a=b;b=t;} printf("%d %d %d",a,b,c);} ...
  • C璇█缂栫▼棰,浠庨敭鐩樿緭鍏ヤ换鎰3涓暟,鎸変粠灏忓埌澶х殑椤哄簭杈撳嚭
    绛旓細b,c); return 0; }浠g爜2.杈撳叆3涓瓧绗︿覆锛鎸変粠灏忓埌澶椤哄簭杈撳嚭銆 //鍏堢敤绋嬪簭瀵逛笁涓暟杩涜浠庡皬鍒板ぇ鎺掑簭锛岀劧鍚庝慨鏀圭▼搴#include<stdio.h>#include<string.h>int main(){void swap(char *pt1,char *pt2); char a[20],b[20],c[20]; char *p1,*p2,*p3; printf("璇疯緭鍏ヤ笁涓瓧绗...
  • C璇█:瀵硅緭鍏ョ殑鍗佷釜鏁拌繘琛浠庡皬鍒板ぇ鎺掑簭
    绛旓細鐒跺悗鐢╯canf鎺ュ彈鏁扮粍锛岀敤鎴疯緭鍏10涓暟浠ュ悗锛屼細灏嗘暟瀛樺湪鏁扮粍array涓紝鐒跺悗璋冪敤涓婇潰澶勭悊鎺掑簭鐨勫嚱鏁帮紝鍑芥暟鐨勮緭鍏ュ氨鏄垰鎵嶈緭鍏ョ殑鏁帮紝鏈鍚庡湪鎶婃帓搴忕殑缁撴灉杈撳嚭鍗冲彲锛4銆佹渶鍚庣紪璇戣繍琛岋紝杈撳叆10涓暟锛屾渶鍚庢帶鍒跺彴杈撳嚭浜嗘帓搴忕殑缁撴灉锛岃瘉鏄庣▼搴忕殑閫昏緫鏄病鏈夐棶棰樼殑銆備互涓婂氨鏄C璇█杈撳叆10涓暟鎺掑簭鐨勬紨绀猴細...
  • c璇█杈撳叆涓変釜鏁,鎸夌収浠庡皬鍒板ぇ椤哄簭鎺掑垪 鏁颁箣闂寸敤鈥->鈥濈浉杩
    绛旓細include<stdio.h>main(){ int a,b,c,t; while(1){ scanf("%d%d%d",&a,&b,&c); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} printf("%d->%d->%d\n\n",a,b,c);}}濡傚浘鎵绀猴紝鏈涢噰绾炽傘傘
  • c璇█缂栫▼: 浠庨敭鐩樹换鎰忚緭鍏ヤ笁涓暟,鎸夌収浠庡皬鍒板ぇ鐨椤哄簭杈撳嚭.
    绛旓細include<stdio.h> void main(){ int a,b,c,t;printf("璇疯緭鍏ヤ笁涓暣鏁帮細a b c\n");scanf("%d%d%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf("鎺掑簭鍚庣殑涓変釜鏁存暟涓猴細%d,%d,%d\n",a,b,c);} ...
  • C璇█棰 杈撳叆涓変釜鏁,鍒嗗埆鎸夌収浠庡皬鍒板ぇ鍜屼粠澶у埌灏忕殑鐨勯『搴忚緭鍑
    绛旓細include <stdio.h> int main(){ int t,a,b,c;scanf("%d%d%d",&a,&b,&c);if(a<b){ t=a锛宎=b锛宐=t;} if(a<c){ t=a锛宎=c锛宑=t;} if(b<c){ t=b锛 b=c锛 c=t;} printf("%d %d %d\n",a锛宐锛宑锛;return 0;} 鍘熺悊灏辨槸杩愮敤鍐掓场绠楁硶锛屾妸鏈澶х殑鏁版诞鍦ㄦ渶涓婇潰...
  • c璇█浣滀笟:杈撳叆涓変釜鏁存暟,瑕佹眰鎸変粠灏忓埌澶х殑椤哄簭杈撳嚭
    绛旓細杈撳叆涓変釜鏁存暟锛岃姹鎸変粠灏忓埌澶х殑椤哄簭杈撳嚭銆傝В棰樻濊矾锛氭棰橀噰鐢ㄤ緷娆℃瘮杈冪殑鏂规硶鎺掑嚭鍏跺ぇ灏忛『搴忋俶ain( ){ int a , b , c ,t;scanf(鈥%d , %d , %d鈥 , &a , &b ,&c) ;printf(鈥淺n\n a=%d , b=%d , c=%d \n鈥 ,a , b , c) ;if(a>b){t=a ; a=b ; b=t ;} if...
  • c璇█ 杈撳叆涓変釜瀛楃涓,鎸夐噸灏鍒板ぇ椤哄簭杈撳嚭(姹傜畝鍗曠殑绠楁硶)
    绛旓細c璇█ 杈撳叆涓変釜瀛楃涓,鎸夐噸灏鍒板ぇ椤哄簭杈撳嚭(姹傜畝鍗曠殑绠楁硶) //绗2棰:杈撳叆涓変釜瀛楃涓,鎸夐噸灏忓埌澶ч『搴忚緭鍑,浠ユ寚閽堟柟寮瀹炵幇#include<stdio.h>#include<string.h>voidchognzu(char*a,char*b,char*c){intx,y,z;char*p1,*p2,*p3;x=strlen(a);y=str... //绗2棰:杈撳叆涓変釜瀛楃涓,鎸夐噸灏忓埌澶ч『搴...
  • 扩展阅读:一节课就可以学会c++视频 ... 小学生学python还是c++ ... 从小c到大 ... 扫一扫题目出答案 ... 一节课教你学会c++视频 ... 男女聊天必备1000个话题 ... 少儿编程一共有几级 ... 追女生聊天1000话题 ... c++编程适合几岁学 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网