當前位置:首頁 » 編程語言 » 初始化線性表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;
}
熱點內容
日常電瓶叉車配置有哪些 發布:2024-11-25 18:21:17 瀏覽:361
java的二分查找 發布:2024-11-25 18:21:11 瀏覽:23
買帕薩特選哪個配置 發布:2024-11-25 18:17:23 瀏覽:224
編程很掙錢嗎 發布:2024-11-25 18:13:43 瀏覽:935
接受btc支付的香港雲伺服器 發布:2024-11-25 18:02:09 瀏覽:909
華為手機怎麼密碼解鎖 發布:2024-11-25 17:56:34 瀏覽:938
伺服器管理員怎麼編輯別人背包 發布:2024-11-25 17:55:45 瀏覽:930
plc編程T 發布:2024-11-25 17:55:02 瀏覽:268
資料庫年薪 發布:2024-11-25 17:51:18 瀏覽:666
王者榮耀如何給賬號設置密碼 發布:2024-11-25 17:36:48 瀏覽:759