C,
pasted
on Jan 9:
|
int i_comp(int,int);//比較
void i_swap(int,int);//交換
void i_remove(int);//削除
void i_add(int,char *)//追加
static void heap(int,int);
static int n_item=0;
void sort_heap(int n)
{
int i;
n_item=n;
for(i=n_item/2;i>=1;i--)
heap(i,n_item);
}
static void heap(int i,int n)
{
int child;
if(i<=n/2){
if(2*i+1>n)
child=2*i;
else{
if(i_comp(2*i,2*i+1)>0)
child=2*i;
else
child=2*i+1;
}
if(i_comp(i,child)<0){
i_swap(i,child);
heap(child,n);
}
}
}
//ヒープへのデータ追加
void add_item(char *s)
{
int i;
i=++n_item;
i_add(i,s);//tree末尾に追加
//自分(i)>親(i/2)の間
while(i_comp(i,i/2)>0){
i_swap(i,i/2);//交換する
i=i/2;
if(i==1)//rootまでいったら
break;
}
}
void remove_root(void)//ルートの削除
{
i_swap(1,n_item);//ルートの要素を削除し
i_remove(n_item);//一番下位の要素をrootへ移動
sort_heap(--n_item);//treeの再整列
}
|
Output:
|
In function 'i_add':
Line 5: error: storage class specified for parameter 'heap'
Line 7: error: storage class specified for parameter 'n_item'
Line 7: error: parameter 'n_item' is initialized
Line 10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
Line 18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
Line 39: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
Line 54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
Line 58: error: old-style parameter declarations in prototyped function definition
Line 4: error: parameter name omitted
Line 4: error: parameter name omitted
Line 58: error: expected '{' at end of input
|
|