⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 快速排序.tex

📁 快速排序的C语言原程序,希望对大家有帮助!!我觉得还可以
💻 TEX
字号:
快速排序 

The C Programming Language  
 
#include <stdio.h>
#include <stddef.h>

int main(void)
{
    int keys[] = { 5, 8, 9, 15, -18, 150, 0, 55, -5, -108, 100 };
    int i;
    const int keys_size = (sizeof keys) / (sizeof *keys);
    /* prototype */
    void my_qsort(int v[], int left, int right);
    
    my_qsort( keys, 0, keys_size - 1 );
    for ( i = 0; i < keys_size; ++i ) {
        printf("%d ", keys[i]);
    }
    
    printf("\nPress ENTER to quit...");    
    getchar();
    return 0;
}

/* my_qsort:  sort v[left]...v[right] into increasing order */
void my_qsort(int v[], int left, int right)
{
   int i, last;
   /* prototype */
   void my_swap(int v[], int i, int j);

   if (left >= right) /* do nothing if array contains */
       return;        /* fewer than two elements */
   my_swap(v, left, (left + right)/2); /* move partition elem */
   last = left;                        /* to v[0] */
   for (i = left + 1; i <= right; i++) /* partition */
       if (v[i] < v[left])
           my_swap(v, ++last, i);
   my_swap(v, left, last);            /* restore partition elem */
   my_qsort(v, left, last-1);
   my_qsort(v, last+1, right);
}

/* my_swap:  interchange v[i] and v[j] */
void my_swap(int v[], int i, int j)
{
   int temp;

   temp = v[i];
   v[i] = v[j];
   v[j] = temp;
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -