データ構造論

-リスト
#include<stdio.h>

struct node{
  struct node* next;
  int  value;
};
 
struct node* insert(struct node* node1,int value){
  struct node* new=(struct node*)malloc(sizeof(struct node));
 
  new->value=value;
  new->next=node1->next;
  node1->next=new;
 
  return new;
}
 
void print_list(struct node* head){
 
  head=head->next;
  for(;head!=NULL;head=head->next)
    printf("%d ",head->value);
 
  printf("\n");
 
}
 
struct node* make_list(){
struct node* head=(struct node*)malloc(sizeof(struct node));
 
 head->next=NULL;
 head->value=0;
 return head;
}
 
int main(){
 
  struct node* head=make_list();
  insert(head,1);
  insert(head,2);
  insert(head,4);
 
  print_list(head);
}
 
 
 
-スタック
#include<stdio.h>
#define MAX 100

int st[MAX];
int top=0;
 
 
void push(int value){
 
  st[top++]=value;
 
  if(top==MAX) { printf("error\n"); exit(1);}
}
 
int pop(){
  if(top<=0) { printf("error\n"); exit(1);}
  return st[--top];
}
 
最終更新:2009年07月08日 00:26
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。