首页 新闻 赞助 找找看

有一个顺序表L,以第一个元素为分界,将所有小于它的元素移到该元素的前面。大于它的移到它的后面;

0
悬赏园豆:20 [待解决问题]

可以执行,但不出结果,麻烦大家看哪有问题

#include "stdafx.h"
#include <iostream>
using namespace std;
#define MaxSize 50
typedef int  Elemtype;
typedef struct
{
Elemtype date[MaxSize];
int length;
} SqList;
void CreateList(SqList *&L,Elemtype a[],int n)
{
int i;
for(i=0;i<n;i++)
  L->date[i]=a[i];
L->length=n;
}
int ListLength(SqList *L){
return (L->length);}
void DispList(SqList *l){
int i;
if(ListEmpty(l)) return ;
for(i=0;i<l->length;i++)
  cout<<l->date[i]<<" ";
}
void movel(SqList *&l){
int i=0,j=l->length-1;
Elemtype pivot=l->date[0];
Elemtype tmp;
while (i!=j){
  while(i<j&&l->date[j]>pivot)
   j--;
  while(i<j&&l->date[i]<pivot)
   i++;
  if(i<=j)
  {tmp=l->date[i];
  l->date[i]=l->date[j];
  l->date[j]=tmp;}
}
}
int main()
{
SqList *l;
int a[10]={3,5,6,1,4,2,7,9,8,0};
CreateList(l,a,10);
movel(l);
DispList(l);

return 0;
}

C++
励志C++的主页 励志C++ | 初学一级 | 园豆:148
提问于:2012-12-02 21:28
< >
分享
所有回答(1)
0

int main() 中 SqList *l没分配空间;

励志C++ | 园豆:148 (初学一级) | 2012-12-04 14:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册