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

📄 paixu.c

📁 包含几个经典的“排序算法”
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>



int find( int array[], int size,int date ) /*一般查找法*/
{
    int i;
    if( size <= 0 )
     return -1;
    for( i = 0; i < size; ++i )
     if( date == array )
      return i;
    return -1;
} 
void swap( int *pa, int *pb )/*交换*/ 
{
    if( (pa == NULL) || (pb == NULL) )
     return ;
    int temp;
    temp = *pa;
    *pa = *pb;
    *pb = temp;
}
void m_sort( int array[],int begin, int end ) /*一般排序法*/ 
{
    int i;
    if( begin >= end )
     return ;
    for( i = begin + 1; i <= end; ++i )
     if( array[ begin ] > array )
          swap( &array[ begin ], &array );
    m_sort( array, ++begin, end );    
}
void q_sort( int array[],int begin, int end ) /*快速排序法*/
{
    int i, last;
    
    if( begin >= end )
     return ;
    swap( &array[ begin ], &array[ (begin + end)/2 ]);
    last = begin;
    for( i = begin + 1; i <= end; ++i )
     if( array < array[ begin ] )
      swap( &array[ ++last ], &array );
    swap( &array[ begin ], &array[ last ] );
    q_sort( array, begin, last - 1 );
    q_sort( array, last + 1, end );
}
int bifind( int array[], int size, int date ) /*二分查找法*/
{
    int begin, end, mid;
    begin = 0;
    end = size - 1;
    
    while( begin <= end )
    {
        mid = (begin + end)/2;
        if( date > array[ mid ] )
         begin = mid + 1;
        else if( date < array[ mid ] )
         end = mid - 1;
    else 
     return mid;     
    }    
    return -1;      
}

⌨️ 快捷键说明

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