[ create a new paste ] login | about

Link: http://codepad.org/NEYKMnLJ    [ raw code | output | fork ]

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:
1
2
3
4
5
6
7
8
9
10
11
12
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


Create a new paste based on this one


Comments: