当前位置:首页 » 编程语言 » 数据结构c语言版霍

数据结构c语言版霍

发布时间: 2022-12-19 08:58:19

⑴ 数据结构(c语言版)

A进,A退,B进,C进,D进,D退,C退,B退----可得ADCB
A进,B进,C进,D进,D退,C退,B退,A退----可得DCBA

但序列ADBC得不到
原因可在了解下面内容后得知

关于这类问题的判断方法一般为跟踪(我自已起的名字)
1.画出一个栈的图
2.按入栈顺序进栈一个一个元素进栈,每进栈一个元素就观察栈顶是不是和出栈顺序的下一个元素比较一下.若是则出栈并继续比较栈顶元素和出栈顺序的下一个元素,并一直出栈到栈顶元素与出栈顺序下一个元素不同.若不是刚继续按入栈顺序进栈.

因此你可以观察到在AD出栈时栈顶是C而B在C后面,所以此时B出栈必晚于C

⑵ C语言版的数据结构问题

struct node *current; //定义一个临时结构指针,指向当前结点

for(current=&h; (curren->data != a) && (current->next != NULL); )
current=next; //如果当前结点的值不等于a,并且不是最后一个结点,指向下一个结点
s.next=current->next; //找到满足条件的节点后,插入结点s

current->next=&s;

⑶ 数据结构(C语言版)怎么学啊!

数据结构这门课,主要讲了2个问题:第一个就是在程序中如何组织数据,第二个就是常用算法
总之,这门课的意义在于讲解了编程时的思想,这些思想是跨越语言的。

学习这门课,没什么捷径,就是读代码,然后用你会的任何一种编程语言实现它。当把书中的代码读懂80%的时候,你就会发现你的编程水平有很大的提高。

⑷ c语言版的数据结构和c++版的数据结构有什么不同

C语言和C++描述数据结构最大的区别在于设置思想,C语言是一种结构化程序设计语言,而C++是一种面向对象的程序设计语言,它两者的区别主要在于数据和操作的关系。

C语言是定义数据类型,数据类型定义变量,然后函数操作变量,换句话说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语言数据结构pdf

强烈建议买国外版。数据结构(C语言版)—作者:(美)霍罗威茨等着,李建中等译出版社:机械工业出版社本书的采用该类教材传统的内容与组织结构。层次清晰,代码质量很高。可以从书总的叙述看出作者的教学经验。尽管有一定难度,但作者自始至终,都是从相对基础知识开始讲起,循序渐进。(比如c的数据存储?式),这点比严蔚敏的那本好很多。最重要的是,书中的证明都很简洁,与之相比严蔚敏的教材简直就是噩梦(比如严的书中关于模式匹配的讲解)。

⑺ 数据结构(C语言版)

1.类型定义有问题,将LinkList定义的都改为LNode *吧!
2.有一处else写为elst了

帮你改了一下,正在是修改后的程序:
可以编译通过,但不知道逻辑是否正确,自己检查一下哈!
#include <stdio.h>
#include <malloc.h>
typedef char ElemType;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
int ListInsert_L(LNode *head,int i,char e)
{
LNode *p=head;
LNode *s;
int j;
p=p->next;
for(j=1;j<1;j++)
{
if(p) p=p->next;
else break;
}
if(!p||i<1)
{
printf("请输入正确的值\n");
return 0;
}
s=(LNode*)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return 1;
}
LinkList CreateList_L(LinkList head)
{
char temp;
LinkList p;
printf("请输入结点值(输入0结束):");
fflush(stdin);
scanf("%c",&temp);
while(temp!='0')
{
if(('A'<=temp&&temp<='Z')||('a'<=temp&&temp<='z'))
{
p=(LinkList)malloc(sizeof(LNode));
p->data=temp;
p->next=head->next;
head->next=p;
}
printf("请输入结点值(输入0结束):");
fflush(stdin);
scanf("%c",&temp);
}
return head;
}
int ListDel_L(LinkList head,int i)
{
LinkList p,tmp;
int j;
p=head->next;
tmp=head;
for(j=1;j<i;j++)
{
if(p)
{
p=p->next;
tmp=tmp->next;
}
else break;
}
if(!p||i<1)
{
printf("请输入正确的值:\n");
return 0;
}
tmp->next=p->next;
free(p);
return 1;
}
void ListPint_L(LinkList head)
{
LinkList p;
int i=0;
p=head->next;
while(p!=NULL)
{
i++;
printf("第%d个元素是:",i);
printf("%c\n",p->data);
p=p->next;
}
}
void main()
{
int i;
char cmd,e;
LinkList head;
head=(LinkList)malloc(sizeof(LNode));
head->next=NULL;
CreateList_L(head);
ListPint_L(head);
do
{
printf("i,I...插入\n");
printf("d,D...删除\n");
printf("q,Q...退出\n");
do
{
fflush(stdin);
scanf("%c",&cmd);
}while ((cmd!='d')&&(cmd!='D')&&(cmd!='i')&&(cmd!='I')&&(cmd!='q')&&(cmd!='Q'));
switch (cmd)
{
case 'i':
case'I':
printf("请输入你要插入的数据:");
fflush(stdin);
scanf("%c",&e);
printf("请输入你要插入的位置:");
scanf("%d",&i);
ListInsert_L(head,i,e);
ListPint_L(head);
break;
case 'd':
case 'D':
printf("请输入你要删除元素的位置:");
fflush(stdin);
scanf("%d",&i);
ListDel_L(head,i);
ListPint_L(head);
break;
}
}while ((cmd!='q')&&(cmd!='Q'));
}

⑻ 数据结构C语言版问题

用数据结构写吗?用就麻烦了,要不要,要了说一声

热点内容
编程算损耗 发布:2025-01-28 03:33:03 浏览:456
sql存储过程返回多个结果 发布:2025-01-28 03:24:03 浏览:463
长安欧尚科赛哪个配置值得购买 发布:2025-01-28 03:19:35 浏览:116
c全排列算法 发布:2025-01-28 03:18:16 浏览:753
梵蒂冈顶级时装ftp 发布:2025-01-28 03:03:36 浏览:694
手游脚本有前途吗 发布:2025-01-28 02:46:55 浏览:379
抓包编程 发布:2025-01-28 02:42:41 浏览:930
安卓平板上怎么设置热点 发布:2025-01-28 02:36:33 浏览:717
如何在手机上压缩图片 发布:2025-01-28 02:34:09 浏览:989
服务器ip挂上公网 发布:2025-01-28 02:31:15 浏览:979