当前位置:首页 » 编程语言 » 数据结构c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据结构c语言

发布时间: 2022-01-22 19:00:25

‘壹’ 数据结构c语言

  1. 把scanf("%d ",&q->name);改成scanf("%s",q->name);。

  2. 把scanf("%d ",&q->score);改成scanf("%d",&q->score);。

  3. 函数studlist *CreateStudent()应该有一个返回值。若不需要返回值,请改成voidCreateStudent()。

  4. if(p->Next->score<q->score)中p->Next->score并未赋值,怎么能与q->score比较?这里就会跳出运行。

  5. char name[3];中3太小只能放下一个汉字或两个字符。

  6. 适当的地方应该有释放所申请的内存的语句。

‘贰’ 数据结构C语言

++;
printf("第%d个数据:",i);
printf("%d\n",p->data);
p=head->next; //改成p=p->next
不是给你回答过一次吗?
http://..com/question/13189159.html
这个是你问的吧,还把问题关了
上次我明明调式过了能回答的

‘叁’ 数据结构(c语言版)

测试数据1:
创建二叉树,输入先序扩展序列:ABD##E##C#F##
先序遍历输出节点:ABDECF
中序遍历输出节点:DBEACF
后序遍历输出节点:DEBFCA

二叉树示意图:
A
/
BC
//
DE#F
///
######


测试数据2:
创建二叉树,输入先序扩展序列:ABC##DE#G##F###
先序遍历输出节点:ABCDEGF
中序遍历输出节点:CBEGDFA
后序遍历输出节点:CGEFDBA

二叉树示意图:
A
/
B#
/
CD
//
##EF
//
#G##
/
##


#include<stdio.h>
#include<stdlib.h>

typedefstructNode//二叉树的结构体
{
chardata;//字符
structNode*lchild;//左分支
structNode*rchild;//右分支
}Bitree;

//创建二叉树:用"先序遍历"(递归法)
voidCreateBiTree(Bitree**bt)
{
charch;
scanf("%c",&ch);//输入字符
if(ch=='#')//'#'是空节点NULL
*bt=NULL;
else
{
*bt=(Bitree*)malloc(sizeof(Bitree));
(*bt)->data=ch;
CreateBiTree(&((*bt)->lchild));
CreateBiTree(&((*bt)->rchild));
}
}

//用"先序遍历"输出节点(递归法)
voidpreOrder(Bitree*ptr)
{
if(ptr!=NULL)
{
printf("%c",ptr->data);
preOrder(ptr->lchild);
preOrder(ptr->rchild);
}
}

//用"中序遍历"输出节点(递归法)
voidinOrder(Bitree*ptr)
{
if(ptr!=NULL)
{
inOrder(ptr->lchild);
printf("%c",ptr->data);
inOrder(ptr->rchild);
}
}

//用"后序遍历"输出节点(递归法)
voidpostOrder(Bitree*ptr)
{
if(ptr!=NULL)
{
postOrder(ptr->lchild);
postOrder(ptr->rchild);
printf("%c",ptr->data);
}
}

intmain()
{
Bitree*root;
printf("创建二叉树,输入先序扩展序列:");
CreateBiTree(&root);

printf("先序遍历输出节点:");
preOrder(root);
printf(" 中序遍历输出节点:");
inOrder(root);
printf(" 后序遍历输出节点:");
postOrder(root);

printf(" ");
return0;
}

‘肆’ 数据结构c语言版

#include "stdio.h"
typedef char datatype;
typedef struct node{

datatype data;

struct node *next;
} stack;
stack * creat(void)
{
char ch;
stack * head;
stack *p;
head=NULL;/*初始化为空*/
ch=getchar( );
while (ch!='\n'){
p=(stack*)malloc(sizeof(stack));/*分配空间*/
p->data=ch;/*数据域赋值*/
p->next=head;/*指定后继指针*/
head=p;/*head指针指定到新插入的结点上*/
ch=getchar( );
}
return (head);
}

void MakeNull(stack *s)/*使栈s为空*/
{
stack *p=s;
while(s!=NULL){
s=s->next;
free(p);/*释放空间*/
p=s;
}
}

datatype Top(stack *s)
{
if(Empty(s))/*s为空栈,直接跳出,提示出错信息*/
printf("The stack is empty.");
else
return s->data;
}

void Pop(stack *s)
{
stack *p;
if(Empty(s)) /*s为空栈,直接跳出,提示出错信息*/
printf("The stack is empty.");
else{
p=s;
s=s->next;
free(p);/*释放栈顶空间*/
}
}

void Push(stack *s,datatype x)
{

stack *p;
p=(stack*)malloc(sizeof(stack));
p->data=x;
p->next=s;
s=p;
}

int Empty(stack *s)
{
return(s==NULL);
}

void main()
{
stack* m_stack=creat();
char m_top;
if(!Empty(m_stack))
{
m_top=Top(m_stack);
Pop(m_stack);
}
else
Push(m_stack,'a');
MakeNull(m_stack);
}

‘伍’ 数据结构(c语言)

1.数据结构是一门研究非数值计算的程序设计问题中计算机的 A 以及它们之间的 _ B 和运算等的学科。
① A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象
② A. 结构 B. 关系 C. 运算 D. 算法
2.数据结构被形式地定义为(K,R),其中K是 B 的有限集,R是K上的 A 有限集。
① A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构
② A. 操作 B. 映象 C. 存储 D. 关系
3.在数据结构中,从逻辑上可以把数据结构分成____C____。
A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构 D. 内部结构和外部结构
4.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性
② A. 空间复杂度和时间复杂度 B. 正确性和简单性
C. 可读性和文档性 D. 数据复杂性和程序复杂性
5.计算机算法指的是 C ,它必须具备输入、输出和 C 等5个特性。
① A. 计算方法 B. 排序方法
C. 解决问题的有限运算序列 D. 调度方法
② A. 可执行性、可移植性和可扩充性
B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性

三、填空题
1.下面程序段的时间复杂度是___O(n*m)____。
For (i=0;i<n;i++)
For (j=0;j<m;j++)
A[i][j]=0;
2.下面程序段的时间复杂度是___O(n^(1/2))____。
i=s=0
While(s<n)
{
i++; /* i=i+1 */
s+=i; /* s=s+i */
}
3.下面程序段的时间复杂度是___O(n^2)____。
s=0;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
s+=B[i][j];
sum=s;
4.下面程序段的时间复杂度是__O(log3 N)(注:对N取3的对数)_____。
i=1;
While (i<=n)
i=i*3;

‘陆’ 数据结构(C语言)

#define maxsize 100 //链表最大长度
typedef struct{
ElemType data;
int cur;
}component,SLinkeList[maxsize]
这中描述方法便于在不设“指针”类型的高级程序设计语言中使用链表结构。在如上的描述的链表中,数组的一个分量表示一个结点,同时用游标(指示器cur)代替指针指示结点在数组中的相对位置。数组第零分量可以看成头结点,其指针域指示链表的第一个结点。这种存储结构仍需要预先分配一个较大的空间,但在作线性表的插入和删除操作时不需要移动元素,仅需修改指针,故仍具有链式存储结构的主要特点。
void InitSpace_SL(SLinkeList &space)
//InitSpace_SL( )为创建链表函数
{
//将一维数组space中的各分量链成一个备用链表,space[0].cur为头指针
//"0"表示空指针
for(i=0;i<maxsize-1;++i)
space[i].cur=i+1;
space[maxsize-1].cur=0;
}

‘柒’ 数据结构和C语言有什么区别

数据结构是数据及数据之间的关系,C语言只是一门编程语言,可以用C语言来写程序,实现数据按照某种特定的关系来组织和管理数据(也就是实现数据结构),所以数据结构的课程会有不同的语言版本,其实就是用不同的语言来实现数据结构了。呵呵,不知道你明白没有呢~~

‘捌’ 数据结构C语言版

完整的C代码,希望对你有帮助

#include <stdio.h>
#include <stdlib.h>
#define List_Init_Size 10
typedef int ElemType;

typedef struct
{
ElemType *elem;
int listsize; /*线性表的长度*/
int length; /*当前元素个数*/
}sqlist;

/*初始化线性表*/
int InitList(SqList *L)
{
L-> listsize=List_Init_Size;
L-> elem=(ElemType*)malloc(List_Init_Size*sizeof(ElemType));
if(!L-> elem)return -1;
L-> length=0;
return 1;
}

void Fen(SqList *L,SqList *Lb,SqList *Lc) //此函数实现分开放置
{
int i,j=0,k=0;
Lb->listsize=5; Lb->elem=(ElemType*)malloc(5*sizeof(ElemType));
Lc->listsize=5; Lc->elem=(ElemType*)malloc(5*sizeof(ElemType));
for(i=0;i<10;i++)
{
if(i%2==0)
{
Lc->elem[j]=L->elem[i];j++;
}
else if(i%2==1)
{
Lb->elem[k]=L->elem[i];k++;
}
}
}

void main()
{
int i,e;SqList L,Lb,Lc;
InitList(&L);
printf("请输入十个数,用空格隔开:\n");
for(i=0;i<10;i++)
{
scanf("%d",&L.elem[i]);
}
printf("你构造的线性表是:\n");
for(i=0;i<10;i++)
{
printf( "%d ",L.elem[i]);
}
Fen( &L,&Lb,&Lc);

printf("\n线性表Lb为:\n");
for(i=0;i<5;i++)
{
printf( "%d; ",Lb.elem[i]);
}

printf("\n线性表Lc为:\n");
for(i=0;i<5;i++)
{
printf( "%d; ",Lc.elem[i]);
}

}

‘玖’ 数据结构 c语言版(严尉敏)

我看了一下,好像没有代码,全称是:
《数据结构(C语言版)》配书光盘 DSDemo

数据结构算法演示(Windows版)
使 用 手 册

一、 功能简介
本课件是一个动态演示数据结构算法执行过程的辅助教学软件, 它可适应读者对算法的输入数据和过程执行的控制方式的不同需求, 在计算机的屏幕上显示算法执行过程中数据的逻辑结构或存储结构的变化状况或递归算法执行过程中栈的变化状况。整个系统使用菜单驱动方式, 每个菜单包括若干菜单项。每个菜单项对应一个动作或一个子菜单。系统一直处于选择菜单项或执行动作状态, 直到选择了退出动作为止。

二、 系统内容
本系统内含84个算法,分属13部分内容,由主菜单显示,与《数据结构》教科书中自第2章至第11章中相对应。各部分演示算法如下:
1. 顺序表
(1)在顺序表中插入一个数据元素(ins_sqlist)
(2)删除顺序表中一个数据元素(del_sqlist)
(3)合并两个有序顺序表(merge_sqlist)
2. 链表
(1)创建一个单链表(Crt_LinkList)
(2)在单链表中插入一个结点(Ins_LinkList)
(3)删除单链表中的一个结点(Del_LinkList)
(4)两个有序链表求并(Union)
(5)归并两个有序链表(MergeList_L)
(6)两个有序链表求交(ListIntersection_L)
(7)两个有序链表求差(SubList_L)

================================================

我有,留下email,最好是Gmail

盘中内容

\DSDemoW 数据结构算法演示系统(Windows版)β测试版
\DSDemoC 数据结构算法演示系统(C语言描述)V3.1C中文版
Readme.txt 光盘使用说明

对不对?