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

📄 qsort2.c

📁 自己做的常用库和实现的数据结构。public domain.
💻 C
字号:
#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]);    }    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 + -