千里暮云平

常用链接

统计

最新评论

线性表的顺序表、链表

//栈的实现

#include 
<stdio.h>
#define MAX 100
#define Elemtype int

struct zhan
{
    Elemtype sta[MAX];
    
int top;
}
;
typedef 
struct zhan Stack;

void InitStack(Stack &st)
{
    st.top 
= 0 ;
}


void Push(Stack &st,Elemtype e)
{
    
if(st.top>=MAX)
        
return;
    
else
    
{
        st.top 
++;
        st.sta[st.top] 
= e ;
    }

}


bool Pop(Stack &st)
{
    
if(st.top==0)
        
return false;
    
else
    

        
return true;
        st.top 
--;
    }

}


Elemtype GetTop(Stack 
&st)
{
/*    if(st.top==0)
        return  
*/

    
return st.sta[st.top];
}


bool EmptyStack(Stack &st)
{
    
if(st.top==0)
        
return true;
    
else
        
return false;
}


void main()
{
}
 1#include <stdio.h>
 2
 3struct StuGrade
 4{
 5    int num;
 6    int mark;
 7}
;
 8
 9void main()
10{
11    struct StuGrade group1[4]={{1,70},{2,85},{3,75},{4,90}},group2[4]={{5,60},{6,80},{7,76},{8,50}};
12    printf("打印成绩:\n");
13    for(int i=0;i<4;i++)
14    {
15        printf("学好:%d,成绩为:%d\n",group1[i].num,group1[i].mark);
16        printf("学好:%d,成绩为:%d\n",group2[i].num,group2[i].mark);
17    }

18}



结构体的类型名是struct list ;struct只是声明结构体需要的关键字。 如果你要定义一个结构体变量 你就可以 :结构体类型 变量名
如:struct list student;

你是不是觉得写struct list 觉得很麻烦?
那你就可以把struct list起个别名;就是绰号
可以这样

struct list{
  int a;
  char c;
  stuct list *next;
};
typedef struct list A;
那么你的A student; 就等同与 struct list student;


当然你也可以在声明一个结构体的时候给它起别名
typedef struct list{
  int a;
char c;
struct list *next;
}A;




//队列的实现  , 只有一端进行插入,一端进行删除,允许插入的一端称为队尾,允许删除的一端称为队头。

#include 
<stdio.h>

#define MAX 100
#define Elemtype int
struct sequence
{
    Elemtype seq[MAX];
    
int top;
    
int rear;
}
;
typedef 
struct sequence Sequence;

void InitQueue(Sequence &queue)
{
    queue.top
=queue.rear=0;
}


void EnQueue(Sequence &queue,Elemtype e)
{
    
if(queue.rear==MAX-1)
        
return;
    
else
    
{
        queue.rear
++;
        queue.seq[queue.rear]
=e;
    }

}

void DlQueue(Sequence &queue)
{
    
if(queue.rear==queue.top)
        
return;
    
else
    
{
        queue.top
++;
    }

}

Elemtype GetHead(Sequence 
&queue)
{
    
if(queue.rear==queue.top)
        
return NULL;
    
else
        
return queue.seq[queue.top];
}

void main()
{

}

上传一个比较有用的pptlink


 
队空:Q.front =Q. rear
队满: Q.front =(Q.rear + 1) % maxSize
入队:   Q.rear = (Q.rear + 1) % maxSize
出队:   Q.front = (front + 1) % maxSize;
求队长:(Q.rear-Q.front+maxSize)%maxSize

posted on 2010-02-08 23:20 Adam 阅读(77) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理