健老师 发表于 2017-6-14 15:34:18

初入论坛小鱼友,寻求各位的帮助

1
实验名称:线性表的存储及运算
实验目的:通过实验能够学会线性表的两种存储方式。
实验内容:1.建立4个元素的顺序表list[] = {2, 3 , 4 , 5},实现顺序表建立及插入和删除的基本操作。2.建立一个包括头结点和3个结点{4,3,1}的单链表及插入、删除、查找等基本操作。
2
实验名称:二叉树的表示及运算
实验目的:通过实验能够学会二叉树的建立与遍历。
实验内容:建立一棵二叉树,并用递归或非递归的算法分别用先序、中序和后序遍历之。
3
实验名称:查找表的存储及运算
实验目的:通过实验能够学会对有序表的查找。
实验内容:建立一个记录有序表并实现其上的折半查找
4
实验名称:内部排序的方法。
实验目的:通过实验能够学会折半插入排序的方法。
实验内容:输入待排序记录。用顺序存储结构存储,并用折半插入排序对其排序.



这是数据结构与算法里面的基本实验,小鱼友不是很精通,特来论坛求助各位大佬,希望能得到实现上述实验的源码以及必要的注释,谢谢谢谢,时间比较紧,希望看到的鱼友、大佬能帮帮我,万分感谢。

楦潇鸢笕 发表于 2017-6-16 23:31:44

本帖最后由 楦潇鸢笕 于 2017-6-16 23:36 编辑

1:单链表的存储与基本操作
#include<stdio.h>
#include<stdlib.h>
typedef int elemType;
typedef struct Node
{
      elemType date;
      struct Node *next;
}LNode,*LinkList;
//单链表的建立
LinkList CreteList(int n)
{
      LinkList L,p;
      L=(LinkList)malloc(sizeof(LNode));
      L->next =NULL;
      elemType e;
      if(!L)
          return 0;
      while(n--)
      {
                scanf("%d",&e);
                p=(LinkList)malloc(sizeof(LNode));
                p->date =e;
                p->next =L->next ;
                L->next =p;
          }
          return L;
}
//指定位置的插入
int Listinsert(LinkList L,int i,elemType e)
{
if(i<1)
   return 0;
LinkList P;
int j=0;
while(L&&j<=i-1)
{
          L=L->next ;
          j++;
}   
P=(LinkList)malloc(sizeof(LNode));
P->date =e;
P->next =L->next ;
L->next =P;
return 0;
}
指定位置的删除,并以e返回其值
int Listdelete(LinkList L,int i,elemType *e)
{
      if(i<1)
          return 0;
      LinkList q;
      int j=0;
      while(L->next &&j<=i-1)
      {
         L=L->next ;
         j++;      
      }
      if(!L->next ) return 0;
      q=L->next ;
      *e=q->date ;
      L->next =q->next ;
      return 1;
}
2:二叉树的存储及建立
#include<stdio.h>
#include<stdlib.h>
typedef char TElemType;
typedef struct BiTNode
{
    TElemType date;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//构造二叉树
BiTree CreateBiTree()
{
    BiTree T;
    int a;
    scanf("%c",&a);
    if(a=='^')
      T=NULL;
    else
      {
      T=(BiTNode *)malloc(sizeof(BiTNode));
      if(!T)exit(-1);
      T->date=a;
      T->lchild=CreateBiTree();
      T->rchild=CreateBiTree();
      }
      return T;
}

健老师 发表于 2017-6-18 17:55:20

楦潇鸢笕 发表于 2017-6-16 23:31
1:单链表的存储与基本操作
#include
#include


谢谢大佬   谢谢了
页: [1]
查看完整版本: 初入论坛小鱼友,寻求各位的帮助