| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:快速排序,不知道哪里有问题,请高手指点!!!!!
取消只看楼主 加入收藏
ice_callous
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-10-14
结帖率:60%
收藏
已结贴  问题点数:30 回复次数:1 
快速排序,不知道哪里有问题,请高手指点!!!!!
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

#define OK 1
#define NULL 0
#define LIST_INTT_SIZE 100000
#define LISTINCREMENT 10
#define OVERFLOW 0

typedef int Status;
typedef int ElemType;
typedef struct
{
    ElemType *elem;
    int Length;
    int MaxSize;
}SqList;


Status InitList_Sq(SqList &L)
{
    L.elem=(ElemType*)malloc(1000*sizeof(ElemType));
    if(!L.elem)
        exit(OVERFLOW);
    L.Length=0;
    L.MaxSize=LIST_INTT_SIZE;
    return OK;
}


void DataIn_Sq(SqList &L)
{
    int x;
    int i;
    for(i=1;i<10;i++)
    {
        scanf("%d",&x);
        L.elem[i-1]=x;
        L.Length++;
    }
}


void DataOut_Sq(SqList &L)
{
    int i;
    for(i=0;i<L.Length;i++)
        printf("%d ",L.elem[i]);
}



Status Partition(SqList &L, int low, int high)
{
    int temp;
    int pivotkey;
    pivotkey=L.elem[low];
    while(low<high)
    {
        while(low<high && L.elem[high]>=pivotkey)
            --high;
        temp=L.elem[low];
        L.elem[low]=L.elem[high];
        L.elem[high]=temp;
        while(low<high && L.elem[low]<=pivotkey)
            ++low;
        temp=L.elem[low];
        L.elem[low]=L.elem[high];
        L.elem[high]=temp;
    }
        return low;
}




void QuickSort(SqList &L, int low, int high)
{
    int pivotkey;
    if(low<high)
        pivotkey=Partition(L,low,high);
    QuickSort(L,low,pivotkey-1);
    QuickSort(L,pivotkey+1,high);
}



void DestroyList(SqList &L)
{
   free(L.elem);
   L.elem=NULL;
   L.Length=0;
   L.MaxSize=0;
}




void main()
{
    SqList MyList;
    InitList_Sq(MyList);
    DataIn_Sq(MyList);
    DataOut_Sq(MyList);
    QuickSort(MyList,Partition(MyList,0,1000),MyList.MaxSize);
    DataOut_Sq(MyList);
    DestroyList(MyList);
}

搜索更多相关主题的帖子: include return include return 
2010-11-18 16:49
ice_callous
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-10-14
收藏
得分:0 
回复 2楼 寒风中的细雨
多谢指点
2010-11-18 22:26
快速回复:快速排序,不知道哪里有问题,请高手指点!!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016630 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved