最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

純C語言:分治快速排序源碼分享

 更新時間:2014年01月06日 16:01:49   作者:  
這篇文章主要介紹了分治快速排序源碼,有需要的朋友可以參考一下

復(fù)制代碼 代碼如下:

#include<stdio.h>
void fun(int array[],int low,int high)
{
    int i = low;
    int j = high; 
    int temp = array[i];         
    while(i < j)
    {
  while((array[j] >= temp) && (i < j))
  {
   j--;
   array[i] = array[j];
  }
        while((array[i] <= temp) && (i < j))
        {
            i++;
   array[j]= array[i];
  }
    }
    array[i] = temp;
 if(i-1>low)
 {
        fun(array,low,i-1);
 }
 if(high>i+1)
 {
        fun(array,j+1,high);
 }
    else
    {
        return;
    }
}
void main()
{
    int array[10];
 printf("輸入十個數(shù)字進(jìn)行快速排序:\n");
 for(int i=0;i<10;i++)
 {
  printf("請輸入第%d個數(shù):",i+1);
  scanf("%d",&array[i]);
 }
 fun(array,0,9);
 printf("對這十個數(shù)字從小到大快速排序得:");
    for(i=0;i<10;i++)
    {
        printf("%d ",array[i]);
    }
    printf("\n");
}

 

 

2
#include<iostream.h>
#include<malloc.h>
void interchange(int* m,int* n)
{
 int temp=*m;
 *m=*n;
 *n=temp;

}
int partition(int array[],int p,int q)
{
 int i,j;
 i=p;
 j=q+1;
 while(1)
 {
  do i++;
  while((array[i]<array[p])&&(i!=q));
  do j--;
        while((array[j]>array[p])&&(j!=p));
  if(i<j)
   interchange(&array[i],&array[j]);
  else
   break;
 }
 interchange(&array[p],&array[j]);
 return j;

}
void quicksort(int array[],int p,int q)
{
 int j;
 if (p<q)
 {
  j=partition(array,p,q);
  quicksort(array,p,j-1);
  quicksort(array,j+1,q);
 }
}
void main()
{
 int n,i;
 cout<<"please input the number of array:";
 cin>>n;
 int* a=(int*)malloc(n*sizeof(int));

 for(i=0;i<n;i++)
 {
  cout<<"please the "<<i+1<<"th element :";
  cin>>a[i];
 }
 cout<<"before sort:";
    for(i=0;i<n;i++)
  cout<<a[i]<<"  ";
 cout<<endl;
 quicksort(a,0,n-1);
    cout<<"after sort:";
    for(i=0;i<n;i++)
  cout<<a[i]<<"  ";
 cout<<endl;

}

相關(guān)文章

  • 一波二叉樹遍歷問題的C++解答實例分享

    一波二叉樹遍歷問題的C++解答實例分享

    這篇文章主要介紹了一波二叉樹遍歷問題的C++解答實例分享,包括節(jié)點打印和轉(zhuǎn)換為鏡像等問題的解答,需要的朋友可以參考下
    2016-02-02
  • c++中的基本IO類型詳解

    c++中的基本IO類型詳解

    IO的設(shè)備可以是文件、控制臺、string。c++主要定義了三種IO類型,分別被包含在iostream、fstream、sstream頭文件中,本文給大家分享c++中的基本IO類型,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • C++ Boost Tokenizer使用詳細(xì)講解

    C++ Boost Tokenizer使用詳細(xì)講解

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • 解決C語言數(shù)組元素循環(huán)右移的問題

    解決C語言數(shù)組元素循環(huán)右移的問題

    今天小編就為大家分享一篇解決C語言數(shù)組元素循環(huán)右移的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • c++拷貝構(gòu)造函數(shù)防篡改示例

    c++拷貝構(gòu)造函數(shù)防篡改示例

    這篇文章主要介紹了拷貝構(gòu)造函數(shù)防篡改示例,需要的朋友可以參考下
    2014-04-04
  • C++ OpenCV實現(xiàn)圖像雙三次插值算法詳解

    C++ OpenCV實現(xiàn)圖像雙三次插值算法詳解

    圖像雙三次插值的原理,就是目標(biāo)圖像的每一個像素都是由原圖上相對應(yīng)點周圍的4x4=16個像素經(jīng)過加權(quán)之后再相加得到的。本文主要介紹了通過C++ OpenCV實現(xiàn)圖像雙三次插值算法,需要的可以參考一下
    2021-12-12
  • C++ 實現(xiàn)桶排序的示例代碼

    C++ 實現(xiàn)桶排序的示例代碼

    桶排序或所謂的箱排序,是一個排序算法,工作的原理是將數(shù)組分到有限數(shù)量的桶子,本文詳細(xì)的介紹了如何實現(xiàn),感興趣的可以了解一下
    2021-07-07
  • SublimeText編譯C開發(fā)環(huán)境設(shè)置

    SublimeText編譯C開發(fā)環(huán)境設(shè)置

    這篇文章主要介紹了使用SublimeText編譯C代碼的開發(fā)環(huán)境設(shè)置,大家參考使用
    2013-11-11
  • C++?雙冒號::符號詳解

    C++?雙冒號::符號詳解

    本文主要介紹了C++?雙冒號::符號詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • C語言實現(xiàn)電影院選座管理系統(tǒng)

    C語言實現(xiàn)電影院選座管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)電影院選座管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評論

胶南市| 宁陕县| 云龙县| 金塔县| 来宾市| 灵宝市| 百色市| 雷山县| 漳州市| 进贤县| 石柱| 孟村| 西吉县| 无锡市| 古丈县| 塘沽区| 桃江县| 凭祥市| 胶南市| 临洮县| 乌拉特前旗| 枣庄市| 沂水县| 西城区| 西吉县| 涞水县| 新泰市| 榆社县| 南丹县| 海阳市| 瑞安市| 富阳市| 宣化县| 霞浦县| 杭锦旗| 石家庄市| 罗甸县| 时尚| 资中县| 鹿邑县| 长治县|