c语言编程,能今天回答吗 - 爱问答

(爱问答)

c语言编程,能今天回答吗

创建一个线性表LA顺序结构,并构造该顺序表,其元素与一维数组a[]={16,6,2,9,11,8,1}元素相同。
打印“题1”所创建的顺序表LA。
 
 在顺序线性表LA中查找第1个与任意给定值e相等的元素位置,找到返回其在L中的位序,否则返回0。

完整的程序参考:

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

typedef int elementtype;
//定义链队列结点类型
typedef struct node {
   elementtype data;
   struct node* next;
} Qnode;
//定义链队列类型
typedef struct {
   Qnode *front, *rear;
} Linkqueue;
//初始化链队列
void init_linkqueue(Linkqueue** Q)
{
   (*Q) = (Linkqueue*)malloc(sizeof(Linkqueue));
   (*Q)->front = (Qnode*)malloc(sizeof(Qnode));
   (*Q)->rear = (Qnode*)malloc(sizeof(Qnode));
   (*Q)->front->next = (*Q)->rear->next = NULL;
}
//入队列
void in_linkqueue(Linkqueue** Q, elementtype x)
{
   Qnode* s = (Qnode*)malloc(sizeof(Qnode));
   s->data = x;
   s->next = NULL;
   //如果当前队列是空队列,第一个元素入队列时需要修改头指针
   if((*Q)->front->next == NULL)
       (*Q)->front->next = s;
   //将算法补充完成,实现入队
   (*Q)->rear->next = s;
   (*Q)->rear = s;
}
//出队列
void out_linkqueue(Linkqueue** Q, elementtype* x)
{
   Qnode* p;
   if((*Q)->front->next == NULL)
       printf("对列已空,没有元素可以出队列! ");

   //将算法补充完成,实现入队
   p = (*Q)->front;
   p->data = *x;
   (*Q)->front = p->next;
   if((*Q)->rear == p)
       (*Q)->rear = NULL;
}
//输出队列中的元素
void print_linkqueue(Linkqueue* Q)
{
   Qnode* p = Q->front->next;
   if(Q->front->next == NULL)
       printf("此对列为空,无元素可以输出! ");
   else {
       while(p != NULL) {
           printf("%d ", p->data);
           p = p->next;
       }
   }
}
int main()
{
   Linkqueue* q;
   int i;

   elementtype a[]={16,6,2,9,11,8,1};
   init_linkqueue(&q); //调用初始化函数

   for(i=0;i<(int)(sizeof(a)/sizeof(a[0]));i++)
       in_linkqueue(&q,a[i]); //初始化数据

   print_linkqueue(q); //调用输出函数
   printf(" ");
}


相关标签:c语言

下一篇:你认为该如何定义数字化人才?你与数字化人才的差距?

上一篇:拍照时,镜头与被拍摄对象之间的距离应大于多少?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?