|
发表于 2022-12-18 12:32:44
|
显示全部楼层
2.2的
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct node//定义结点
- {
- int data;
- struct node *next;
- }node;
- node *creat(int n)//创建循环链表
- {
- int i;
- node *p,*temp,*head;
- p = (node*)malloc(sizeof(node));
- head = p;
- for(i=1;i<=n;i++)
- {
- p->data=i;
- p->next = (node*)malloc(sizeof(node));
- temp = p;
- p = p->next;
-
- }
- temp->next = head;
- return head;
-
- }
- int main()
- {
- int n,m,i;
- node *p,*temp;
-
- printf("请输入数组大小n,位移距离m:");
- scanf("%d%d",&n,&m);
- p = creat(n);
- printf("\n位移前数组:");
- temp = p;
- for(i=1;i<=n;i++)//输出结果
- {
- printf("%d",temp->data);
- temp = temp->next;
-
- }
- printf("\n位移后数组:");
- temp = p;
- for(i=1;i<=m;i++)//先进行位移
- {
- temp = temp->next;
- }
- for(i=1;i<=n;i++)//输出结果
- {
- printf("%d",temp->data);
- temp = temp->next;
- }
- printf("\n");
- return 0;
- }
复制代码 |
|