第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

C語言數(shù)據(jù)結(jié)構(gòu)(6)--順序線性表

標(biāo)簽:
C

顺序线性表概念

线性表简单的说就是有序的元素集合,像Java里面的List。

数组其实就是一个简单线性表,但是更多的只能代表线性表的一种存储结构,如果是一个完善的线性表的话,还应该包括删除元素、查询元素、修改元素等操作。

线性表的存储结构最常见的有两大类,一个是用一维数组,一个使用链表,本篇演示一维数组实现的线性,即顺序线性表;链表实现的线性表可以称之链式线性表。

有哪些操作

  1. 显示线性表元素个数
  2. 列出线性表的所有元素
  3. 获取指定位置元素
  4. 在指定位置插入元素
  5. 删除指定位置元素
  6. 清空线性表

大体上常用的也就这些操作了,下面我们来具体实现下。

顺序线性表代码实现

/*
 * 顺序线性表
 * 作者:熊猫大大
 * 时间:2019-09-22
*/
#include<stdio.h>
#define MAXSIZE 100 //最大元素个数

// 用于保存顺序线性表的结构体
typedef struct {
	int data[MAXSIZE];
	int count;//当前元素个数
}SequenceList;

// 获取元素个数
int getCount(SequenceList *list)
{
	return list->count;
}

// 显示所有元素
void printList(SequenceList *list) 
{
	int i;
	printf("\n所有元素:");
	for (i = 0; i < list->count; i++) 
	{
		printf("%d",list->data[i]);
	}
}

// 获取指定位置元素,返回值放入result指向元素
int getData(SequenceList *list,int index,int *result)
{
	if (index<0 || index>list->count-1) 
	{
		return 0;//0表示失败
	}
	*result = list->data[index];
	return 1;//1表示成功
}

// 插入元素
int insertData(SequenceList *list,int index, int input)
{
	int i;
	if (list->count >= MAXSIZE) //满了
	{
		return 0;
	}
	if (index<0 || index>list->count) //不在合理范围
	{
		return 0;
	}
	if (index != list->count) //插入数据不在表尾
	{
		for (i = list->count;i>=index;i--) 
		{
			list->data[i] = list->data[i - 1];
		}
	}
	list->data[index] = input;
	list->count++;
	return 1;
}
// 删除指定位置元素
int deleteData(SequenceList *list, int index) 
{
	int i;
	if (index<0 || index>list->count - 1) //不在合理范围
	{
		return 0;
	}
	for (i = index; i < list->count - 1; i++) 
	{
		list->data[i] = list->data[i +1];
	}
	list->count--;
	return 1;
}
// 清空所有元素
int clearData(SequenceList *list) 
{
	list->count = 0;
}


// 入口
int main()
{
	//初始化
	SequenceList sequenceList;
	SequenceList *list=&sequenceList;
	list->count = 0;
	//插入元素
	insertData(list, 0, 1);
	insertData(list, 1, 2);
	insertData(list, 2, 3);
	printList(list);
	//获取元素
	int result = -1;
	getData(list, 1, &result);
	printf("\ngetData:%d",result);
	//删除指定位置元素
	deleteData(list,1);
	printList(list);
	//清空元素
	clearData(list);
	printList(list);
	printf("\n");
	return 1;
}
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
軟件工程師
手記
粉絲
1.5萬
獲贊與收藏
1524

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消