c语言错误c2143什么意思,求高手关于【error C2143: 语法错误 : 缺少“)”(在“;”的前面)】错误的解决办法...

已结贴√

问题点数:20 回复次数:5

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

求高手关于【error C2143: 语法错误 : 缺少“)”(在“;”的前面)】错误的解决办法

#include"stdio.h"

#include"stdlib.h"

#define OK 1

#define MAXSIZE 10

typedef struct{

int  r[MAXSIZE+1];

int length;

}SqList;              //定义顺序表类型

int CreateList(SqList &L)//创建顺序表

{

L.length=0;

for(int i=1;i<=MAXSIZE;i++)

{

scanf("%d",&L.r[i]);

L.length++;

}

return OK;

}

int ShowList(SqList &L)  //显示顺序表

{

for(int i=1;i<=MAXSIZE;i++)

printf("%d ",L.r[i]);

return OK;

}

//1直接插入排序

void InsertSort(SqList &L)//直接插入排序

{

for(int i=2;i<=L.length;++i)

if(L.r[i]

L.r[0]=L.r[i];     //复制为哨兵

L.r[i]=L.r[i-1];

for(int j=i-2;L.r[0]

L.r[j+1]=L.r[j]; //记录后移

L.r[j+1]=L.r[0];   //插入到正确位置

}

}

//2折半插入排序

void BiInsertionSort ( SqList &L )

{    // 对顺序表L作折半插入排序

for ( i =2; i <=L.length; ++ i ) {

L.r[0] = L.r[ i ];      //  将L.r[ i ] 暂存到L.r[0]

low = 1; high = i - 1;

while(low<=high)  {//low>high break 在L.r[1..i -1]中折半查找插入位置;[low…high]

m = (low + high )/2;          // 折半

if (L.r[0].key < L.r[m].key)

high = m - 1;                 // 插入点在低半区域

else  low = m+1;                // 插入点在高半区域

}//while

for ( j=i- 1; j>=high+1; -- j )

L.r[j+1 ] = L.r[j];               // 记录后移

L.r[high+1] = L.r[0];              // 插入

} // for

}//BInsertSort

//3快速排序

int Partition(SqList &L, int low, int high)//一趟快速排序

{

L.r[0]=L.r[low];   //用子表第一个记录做枢轴元素

int pivotkey=L.r[low]; //枢轴记录关键字

while(low

while(low=pivotkey) --high;

L.r[low]=L.r[high];  //将记录小的移到低端

while(low

L.r[high]=L.r[low];  //将记录大的移到高端

}

L.r[low]=L.r[0];    //枢轴记录到位

return low;        //返回枢轴位置

}

void QSort(SqList &L,int low,int high)//快速排序

{

if(low

{

int pivotloc=Partition(L,low,high); //一分为二

QSort(L,low,pivotloc-1);  //对低子表递归排序

QSort(L,pivotloc+1,high); //对高子表递归排序

}

}

void QuickSort(SqList &L)//对L快速排序

{

QSort(L,1,L.length);

}

int main()

{

SqList L,L1,L2,L3;

printf("请输入10个数字:\n");

CreateList(L);   //创建线性表L

L1=L2=L3=L;

InsertSort(L);   //对L1直接插入排序

printf("插入排序:\n");

ShowList(L1);

printf("\n");

BiInsertionSort(L2);   //对L2折半插入排序

printf("快速排序:\n");

ShowList(L2);

printf("\n");

nsertSort(L3);   //对L3快速排序

printf("快速排序:\n");

ShowList(L3);

printf("\n");

return 0;

}

今天写了一点关于排序的代码,用vs,vc6.0编译时出现了这些个错误,很闹心。我在百度上看了很多解决办法,仍然解决不了,就拉出来让大家看看,希望高手给解决一下,不胜感激~~~我熬夜找问题,就是找不出,好痛苦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值