C:[错误]链表快速排序

时间:2018-05-27 06:05:38

标签: c linked-list quicksort

我正在编写链表快速排序。

void quick(NODE low,NODE High){
NODE stan=low, serch=NULL;
int pivot,temp

if(low==end || low -> Next =high || low == high){return;}

serch=stan -> Next;
pivot= stan -> data;

while(serch != high){
    if(serch -> data <= pivot){
        if(serch != pivot){
            temp= serch -> data;
            serch -> data =stan -> next ->data; 
            stan -> next ->data=temp;
        }
        stan = stan -> Next;
    }
}   
quick(low, stan);

quick(stan -> next,end);
}

但是

  

[错误]初始化程序无效

     

[错误]在'if'之前预期'=',',',';','asm'或'属性'

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]'高'未声明(首次使用此功能)

     

[注意]每个未声明的标识符仅针对它出现的每个函数报告一次   [错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]二进制操作数无效!=('NODE'和'int')

     

[错误]'temp'notclared(首次使用此功能)

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]' - &gt;'的无效类型参数(有'NODE')

     

[错误]'quick'

的参数2的不兼容类型      

[注意]预期'NODE'但参数类型为'struct NODE *'

错误原因?

1 个答案:

答案 0 :(得分:1)

你错过了;在int pivot,temp之后 2。low -> Next =high应该low -> Next ==high你应该使用==
3.您的参数为High void quick(NODE low,NODE High),但您使用high,则应更改
4.i guess NODE的类型是struct,你应该使用NODE.parameter,如果你想使用->,你应该使用struct指针,所以你需要定义{{1 }}