未命名1.cpp

来自「包含了几个常用的数据结构算法:KMP算法、单链表的合并、快速排序和折半查找算法」· C++ 代码 · 共 60 行

CPP
60
字号
#define maxsize 20
#include<stdio.h>
#include<stdlib.h>
#define list_init_size 5
typedef int keytype;
typedef struct
{int *elem;
int length;
int listsize;
}sqlist;

int initsqlist(sqlist &l)
{
l.elem=(int*)malloc(list_init_size*sizeof(int));
l.length=0;
l.length=list_init_size;
return 1;
}

int createsqlist(sqlist &l)
{
    int i;
    printf("input the datas:");
    for(i=0;i<l.length;i++)
    scanf("%d",&l.elem[i]);
    return 1;
}    
int partition(sqlist &l,int low,int high)
{
keytype pivotkey;
int m=l.elem[low];
pivotkey=l.elem[low];
while(low<high)
{
    while(low<high&&l.elem[high]>=pivotkey)
    {--high;
}
l.elem[low]=l.elem[high];
while(low<high&&l.elem[low]<=pivotkey)
{
    ++low;
}
l.elem[high]=l.elem[low];
}
l.elem[low]=m;
return low;
}

int qsort(sqlist &l,int low,int high)
{
keytype pivotkey;
if(low<high)
  {
    pivotkey=partition(l,low,high);
    qsort(l,low,pivotkey-1);
    qsort(l,pivotkey+1,high);
  }
} 

⌨️ 快捷键说明

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