当前位置:首页 » 编程语言 » c语言有向量和列表吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言有向量和列表吗

发布时间: 2023-02-18 03:35:01

‘壹’ c语言表示列表的问题

/*
抱歉,又是我
*/

//#define debug

struct dimension
{
int num_row ;
int num_col ;
} ;

void table_set_entry (const int t[] ,const struct dimension *dim ,const int row ,const int col ,const int v)
{
if (t == 0 || dim == 0 || row < 0 || col < 0 || row >= dim->num_row || col >= dim->num_col)
return ;

t[col * dim->num_row + row] = v ;

return ;
}

int table_get_entry (const int t[] ,const struct dimension *dim ,const int row ,const int col)
{
if (t == 0 || dim == 0 || row < 0 || col < 0 || row >= dim->num_row || col >= dim->num_col)
return 0 ;

return t[col * dim->num_row + row] ;
}

void table_clear (const int t[] ,struct dimension *dim)
{
if (t == 0 || dim == 0)
return ;

const int* pb = t ;
const int* pe = t + dim->num_row * dim->num_col ;
int* p ;

for (p = pb ; p < pe ; p++)
*p = 0 ;

return ;
}

void table_ (const int a[] ,const int b[] ,struct dimension *dim)
{
if (a == 0 || b == 0 || dim == 0)
return ;

const int* pab = a ;
const int* pae = a + dim->num_row * dim->num_col ;
int* pa ;

const int* pbb = b ;
int* pb ;

for (pa = pab ,pb = pbb ; pa < pae ; pa++ ,pb++)
*pb = *pa ;

return ;
}

#ifdef debug

int main ()
{
void table_set_entry (const int t[] ,const struct dimension *dim ,const int row ,const int col ,const int v) ;
int table_get_entry (const int t[] ,const struct dimension *dim ,const int row ,const int col) ;
void table_clear (const int t[] ,struct dimension *dim) ;
void table_ (const int a[] ,const int b[] ,struct dimension *dim) ;

int t[10][10] ;
int f[100] ;
const struct dimension dim = {10 ,10} ;
const int row = 4 ;
const int col = 7 ;
const int v = 250 ;

table_set_entry (t ,&dim ,row ,col ,v) ;

printf ("isn't %d equal to %d ?\n" ,t[col][row] ,table_get_entry (t ,&dim ,row ,col)) ;

table_ (t ,f ,&dim) ;
table_clear (t ,&dim) ;

printf ("t : %d while f : %d\n" ,t[col][row] ,f[col * dim.num_row + row]) ;

return 0 ;
}

#endif

‘贰’ C语言能否定义向量,怎样定义

C语言不支持向量;
可以自己定义结构体,用两个坐标来表示或辐角表示

‘叁’ C语言的概述提到字节和变量还有向量是什么意思

字节表示大小,在计算机中存储的最小单位就是字节
变量表示在程序编写过程中需要用到的中间值
向量就是数学中的概念了,用不同的C语言代码可以实现向量的基本操作

‘肆’ 学习C语言具备的能力.

其实呢,学习c语言没有其他,编程能力都是靠代码推出来的。你首先得端正学习态度,语言的运用千万不要待全部学完语法后才开始。你必须从模仿开始,边模仿开始。当然,得先买一本好书,我建议你先去买谭浩强编写的书,适合初学者。还有,就算不知道某条语句什么意思,你也要把代码敲进去,而不要等,当你把语法都学完,你会发现,你对c已经很熟悉了,可以融会贯通了。不管学习什么语言,都是一个长期的过程。只有坚持了,代码敲多了,你才能学好。记住,编程能力不是光听课和看书就能提高的,最最重要的还是多写程序!
要说必背必记的东西,就是英语单词了。说实话,英语不需要太多。但是,有扎实的英语单词功底对于程序的表达很重要,当每个人的编程能力都差不多的话,如果你的变量名是用英语命名的,会使你的程序看起来更清晰,更流畅,你的竞争力也就比别人高了。

‘伍’ 数据结构(C语言)

#include<stdio.h>

//顺序表
#define ListSize 100 //表空间的大小可根据实际需要而定,这里假设为100
typedef int DataType; //DataType的类型可根据实际情况而定,这里假设为int
typedef struct
{
DataType data[ListSize];//向量data用于存放表结点
int length;//当前的表长度
}SeqList;

//表的初始化
void InitList(SeqList *L)//将表的长度置为0
{
L->length=0;
}

//将新结点x按升序插入L所指的顺序表
int Insert_SqList(SeqList *L,DataType x)
{
int i=0,j;
//表空间溢出
if (L->length>=ListSize)
{
printf("表空间溢出\n");
return 0;
}
//第一个元素直接插入
if(L->length==0)
L->data[L->length]=x;
else
{
//寻找插入位置
//跳出循环2个条件1:一直找到末尾没有比x大的
//2:找到比x不小的元素
while(i<L->length&&L->data[i]<x) i++;

if(i==L->length)//如果到末尾,直接添加
L->data[i]=x;
else
{
//结点后移
for(j=L->length-1;j>=i;j--)
L->data[j+1]=L->data[j];
L->data[i]=x; //插入x
}
}

//表长加1
L->length++;
return 1;
}

//打印顺序表
int ListPrint(SeqList *L)
{
int i;
if(L->length==0)
{
printf("顺序表为空\n");
return 0;
}

printf("顺序表:\n");
for(i=0;i<L->length;i++)
printf("%d ",L->data[i]);
return 1;
}

int main()
{
SeqList L,*p;
int num,j;
DataType x;

p=&L;

printf("请输入元素个数:");
scanf("%d",&num);

//表的初始化
InitList(p);

//录入数据
for(j=1;j<=num;j++)
{
printf("输入第%d个元素:",j);
scanf("%d",&x);
if(Insert_SqList(p,x)!=1)
return 1;
}
//打印顺序表
ListPrint(p);
return 0;
}

‘陆’ C语言数据结构中的向量的具体定义是什么怎么使用最重要的是使用。诚请高手出来交流学问!

向量一般用二维的坐标表示 你可以直接用坐标点表示 终点减起始点(end start)
我这里给你结构体的表示方法
struct Point
{
double x;
double y;
};//坐标表示
struct Vactor
{
point start;
point end;
};//向量 表示
向量在实际运用举例
double proct (V*v1)
{
V vt1,vt2;
vt1.strat.x=vt1.start.y=0;
vt1.end.x=V1->end.x-v1->start.x;
vt1.end.y=V1->end.y-v1->start.y;
////////////以下可以写自己设计的算法函数
}
你可以尝试运用此方法求个点积 引申 进而判断线与线 面与面的关系

‘柒’ 请问C语言及数据结构中的向量具体表示什么意思

向量就是顺序表,一般以数组实现,可能用定长数组实现,存放元素个数有限制,也可能用动态长度数组实现,一旦元素装满后会再次申请更大的空间并将原有数据拷贝过去。说白了,向量就是一个链表。当然,其扩展性、实用性远远高于我们平常使用的链表。你可以在程序里#include <vector.h>,然后就如vector内部查看向量的定义,对学习数据结构帮助很大哦。