⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 逆置(顺序表示).cpp

📁 数据结构实验--实现链表的插入与删除(源码
💻 CPP
字号:
/*3.写一个线性表的转置算法(顺序表表示)
   (a1,a2,….,an)变为(an,an-1,….,a1)*/
/*......................................................*/
#include<stdio.h>
#include<malloc.h>
#define MAXSIZE 100
struct node{//定义结构体
 int data[MAXSIZE];//存放数组
 int length;//数组的长度
};
int n;
void creat(node *L)//创建链表
{
 
	int c;
	int i,j;
	L->length=0;
	for(i=0;i<100;i++)
	{
       scanf("%d",&L->data[i]);
       L->length++;//用来记录输入数据的个数
       c=getchar();//输入的数存放在c中
	  if (c=='\n')
	  {
       break;
	  }
	  else if(c=='$')
	  {
		L->length--;
		break;
	}
}
L->length--;
printf("创建的链表是:\n");
   for(i=0;i<=L->length;i++)
      printf("%d ",L->data[i]);
   printf("\n");
}
void invert(node *L)//实现链表的逆置
{
	int i;
	int x;
	for(i=0;i<L->length/2;i++)//L的前半部分元素与其后半部分对应的元素进行交换
	{
		x=L->data[i];
		L->data[i]=L->data[L->length-i-1];
		L->data[L->length-i-1]=x;
	}
	
}
void print(node*L)//输出链表
{
	int i;
	for(i=0;i<=L->length;i++)  
     printf("%d ",L->data[i]);
    printf("\n");
}
void main()
{
 node*L;
L=(node *)malloc(sizeof(node));
printf("请输入数........\n");
//printf("请输入:");
 creat(L);
printf("逆置后的链表是:\n");
invert(L);
print(L);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -