当前位置:首页 » 编程语言 » 初始化线性表c语言

初始化线性表c语言

发布时间: 2024-08-09 11:45:24

1. 是C语言中建立顺序表的程序

C语言中建立顺序表的操作顺序如下:

1.清空顺序表:其实清空只不过将元素长度置0,让后面插入数据函数的长度从0开始,其实并不是真正清空,之前的数据元素在内存中还存在,只不过可以被新元素覆盖而已。

2.判断顺序表是否为空

2. C语言创建一个线性表,然后输出线性表

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

typedef struct _NodeList
{
int m_data;
_NodeList* m_next;
}NodeList;

NodeList * createList()
{
NodeList *head,*temp,*tail;
head=tail=NULL;
for (int i = 0; i < 10; i++)
{
temp=(NodeList *)malloc(sizeof(NodeList));
scanf("%d",&temp->m_data);
temp->m_next = NULL;
if(head==NULL)
{
head = tail = temp;
}
else
{
tail->m_next = temp;
tail = temp;
}
}
return head;
}

void printList(NodeList *list)
{
NodeList * tmp = list;
printf("The list is :\n");
while (tmp->m_next != NULL)
{
printf("%d--",tmp->m_data);
tmp = tmp->m_next;
}
printf("%d\n",tmp->m_data);
}

int main()
{
printf("Please input 10 numbers:\n");

/* create list */
NodeList * list = createList();

/* print list */
printList(list);

return 0;
}

3. 求大神帮忙用C语言写一个程序。 要求:定义两个线性表(内容由用户输入),合并这两个线性表,并按顺序

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

typedef struct{
int *data;
int length; // 线性表的长度
int top; // 线性表的当前元素个数
}List;

// 初始化线性表
void list_init(List *li,int length){
li->length = length;
li->top = 0;
li->data = (int*) malloc(li->length * sizeof(int));
}

// 向线性表插入元素余颤
bool add_list(List* li, int data){
if(li->top >= li->竖哗败length){
return false;
}

li->data[li->top++] = data;
return false;
}

// 将两个线性表合并并对元素芦咐进行排序
void merge_list(List *dest, List *li1, List *li2){
list_init(dest, li1->top+li2->top+1);
// 把线性表li1,li2的所有元素添加到线性表dest中
int i = 0;
while(i < li1->top){
add_list(dest, li1->data[i]);
i++;
}
i = 0;
while(i < li2->top){
add_list(dest, li2->data[i]);
i++;
}

// 把线性表dest元素进行排序(由大到小)
for(i=0; i<dest->top; i++){
int j;
for(j=i; j<dest->top; j++){
if(dest->data[i] < dest->data[j]){
int t = dest->data[i];
dest->data[i] = dest->data[j];
dest->data[j] = t;
}
}
}
}

// 显示线性表
void show_list(List *li){
int i;
for(i=0; i<li->top; i++){
printf("%3d",li->data[i]);
if((i+1)%10 == 0){
printf("\n");
}
}
printf("\n");
}

int main(void)
{
int arr1[7]={11,4,7,2,9,15,10};
int arr2[5]={2,1,5,1,19};

List li1;
list_init(&li1, 50);
int i;
for(i=0; i<7; i++){
add_list(&li1,arr1[i]);
}
show_list(&li1);

List li2;
list_init(&li2, 50);
for(i=0; i<5; i++){
add_list(&li2,arr2[i]);
}
show_list(&li2);

List dest;
merge_list(&dest, &li1, &li2);
show_list(&dest);

return 0;

}

4. C语言中怎么定义个线性表

1、定义结构体类型,这里需要利用指针和结构体,其中m和n分别表示矩阵的行和列。

5. 用C语言创建一个顺序表并完成插入等操作

/*

GY52122008

请输入插入字符 : -

请输入插入位置 : 7

GY5212-2008

Press any key to continue

*/

#include<malloc.h>
#include<stdio.h>
#include<string.h>

#definemaxsize100

typedefstruct{
char*data;
intlength;
}sqlist;

voidinitlist(sqlist*&L){//初始化顺序表
L=(sqlist*)malloc(sizeof(sqlist));
L->data=(char*)malloc(maxsize);
L->length=0;
}
voidcreatelist(sqlist*&L,chara[],intn){//建立顺序表
inti;
for(i=0;i<n;i++)L->data[i]=a[i];
L->length=n;
}
boollistinsert(sqlist*&L,inti,chare){//插入数据元素
intj;
if(i<1||i>L->length+1)returnfalse;
i--;
for(j=L->length;j>i;j--)L->data[j]=L->data[j-1];
L->data[i]=e;
L->length++;
returntrue;
}
boollistdelete(sqlist*&L,inti,char&e){//删除数据元素
intj;
if(i<1||i>L->length)returnfalse;
i--;
e=L->data[i];
for(j=1;j<L->length-1;j++)L->data[j]=L->data[j+1];
L->length--;
returntrue;
}
intlistlength(sqlist*L){//求线性表长度
return(L->length);
}
voiddestroylist(sqlist*&L){
free(L);
}
intlocateelem(sqlist*L,chare){//按元素查找
inti=0;
while(i<L->length&&L->data[i]!=e)i++;
if(i>=L->length)return0;
elsereturni+1;
}
voiddisplist(sqlist*L){//输出线性表
inti;
for(i=0;i<L->length;i++)printf("%c",L->data[i]);
printf(" ");
}

intmain(){
intpos,len;
charch,data[50]="GY52122008";
sqlist*L;
initlist(L);//先初始化
len=strlen(data);
createlist(L,data,len);//创建表
displist(L);
printf("请输入插入字符:");
scanf("%c",&ch);
printf("请输入插入位置:");
scanf("%d",&pos);
if(listinsert(L,pos,ch))displist(L);
elseprintf("插入操作失败。 ");
free(L->data);
free(L);
return0;
}
热点内容
phpeol 发布:2024-11-25 20:16:01 浏览:92
您所访问的页面升级 发布:2024-11-25 20:00:56 浏览:597
快手编程师 发布:2024-11-25 20:00:55 浏览:148
androidadt下载最新 发布:2024-11-25 19:47:29 浏览:353
我的世界如何强制获得服务器管理员权限 发布:2024-11-25 19:39:13 浏览:604
批量上传图片控件 发布:2024-11-25 19:27:12 浏览:766
黑马java就业班 发布:2024-11-25 19:10:54 浏览:715
我的世界国外小游戏服务器 发布:2024-11-25 18:52:12 浏览:647
传奇是要什么配置的手机 发布:2024-11-25 18:43:34 浏览:951
荣耀v6如何设置程序安装密码 发布:2024-11-25 18:43:25 浏览:557